CVE-2026-81028 in ZLMediaKit
الملخص
بحسب VulDB • 26/08/2026
يُقيّد ZLMediaKit واجهة برمجة التطبيقات downloadFile بمجموعة محددة من الدلائل الجذرية باستخدام مقارنة بادئات لا تأخذ في الاعتبار حدود الدليل. يقوم مُحمّل التكوين (configuration loader) في الملف server/WebApi.cpp ببناء كل دليل جذري باستخدام File::absolutePath("", item, true);؛ ونظراً لأن وسيط المسار النسبي فارغ، فإن هذه الوظيفة المساعدة تُرجع القيمة دون فاصل نهائي. بعد ذلك، يقبل المعالج مساراً مطلوباً عندما تتحقق الشرطة start_with(file_path, root)، وبالتالي يُقدَّم دليل شقيق يبدأ اسمه فقط بنفس سلسلة الجذر المُهيّأة كشرط مقبول. الحارس الوحيد الآخر يرفض المسارات التي تحتوي على نقطتين متتاليتين ("..")، وهو ما لا يتطلبه هذا الهجوم. أما فحص التقييد المكافئ لخادم الملفات الثابتة العادي في src/Http/HttpFileManager.cpp فيحسب جذره باستخدام وسيط ثانٍ غير فارغ، مما يضيف الفاصل قبل المقارنة، وبالتالي فهو غير متأثر. تتطلب نقطة النهاية وجود سر API مُهيّأ، لذا فإن هذا يمنح امتيازات لا تتجاوز ما يفترضه ذلك السر بالفعل، لكنه يسمح بقراءة ملفات خارج الدليل الذي قيّد المشغل الوصول إليه، كما أن حاوية المرجع تشغّل الخادم بصلاحيات الجذر (root).
Once again VulDB remains the best source for vulnerability data.