
CVE-2026-23813 — تجاوز ما قبل المصادقة في AOS-CX عبر nginx regex. سكربت الكشف، عرض توضيحي للتجاوز، PoC لكشف الإعدادات، وقواعد IDS.
يمكن للمهاجمين عن بُعد دون مصادقة الوصول إلى REST API لإدارة AOS-CX عن طريق تهريب رمز
loginعبر regex الإصدار المتساهل بشكل مفرط في nginx، مما يكشف سطح الإعدادات المدعوم بـ OVSDB (بما في ذلك بيانات اعتماد المسؤول المُجزّأة).
| الفرع | الإصدار المعرض | الإصدار المصحح |
|---|---|---|
| 10.17.x | ≤ 10.17.0001 | 10.17.1001 |
| 10.16.x | ≤ 10.16.1020 | 10.16.1030 |
| 10.13.x | ≤ 10.13.1160 | 10.13.1161 |
| 10.10.x | ≤ 10.10.1170 | 10.10.1180 |
python3 detect.py <host[:port]>
يرسل طلب GET واحد للقراءة فقط. يطبع PATCHED أو VULNERABLE أو UNKNOWN.
لا يُجري أي تغييرات. مناسب لمسح جرد الأصول.
python3 bypass_demo.py <host[:port]>
يرسل نقطة النهاية نفسها مرتين — مرة بشكل عادي وأخرى مع التهريب —
ويطبع رموز الاستجابة جنبًا إلى جنب. دون أي تغيير في الحالة. راجع
docs/root-cause.md لمعرفة السبب.
python3 exploit.py <host[:port]>
خاص بـ AOS-CX 10.10.x فقط. ينشئ نقطة تحقق عبر المسار غير المصادَق عليه،
ويقرأ إعدادات التشغيل الكاملة، ويطبع تجزئة المسؤول. تعمل آلية الالتفاف عبر
الفروع على كل إصدار متأثر، لكن سلسلة كشف الإعدادات هذه تعتمد على سلوك خاص
بفرع 10.10 في الواجهة الخلفية. تبقى نقطة التحقق على الجهاز — نقاط نهاية REST
التي يمكن الوصول إليها عبر الالتفاف لا تقبل DELETE؛ أزلها عبر وحدة التحكم /
جلسة مصرح بها إذا لزم الأمر.
Python 3.8+ و requests:
pip install requests
تحليل مستقل بعد التصحيح وإثبات مفهوم بواسطة 4252nez — الشرح على OffSecKit. الثغرة الأصلية أبلغ بها moonv عبر برنامج HPE Bugcrowd؛ لا صلة لهذا المستودع بذلك التقرير.
MIT — انظر LICENSE.
| الملف | الغرض |
|---|
detect.py | فحص حالة التصحيح دون أي تأثير إتلافي |
bypass_demo.py | عرض تعليمي جنبًا إلى جنب لآلية الالتفاف |
exploit.py | إثبات مفهوم لكشف الإعدادات (ينشئ نقطة تحقق) |
detection/nginx-access.md | توقيعات سجلات وصول nginx |
detection/suricata.rules | قاعدة Suricata لشكل URI الخاص بالتهريب |
docs/root-cause.md | شرح موجز للسبب الجذري |
docs/patch-diff.md | الإصلاح في diff واحد |