
مدقق Python بدون تبعيات يكتشف CVE-2026-24733، وهو تجاوز لقيد الأمان في Apache Tomcat عبر HTTP/0.9 HEAD، مع إخراج JSON وأكواد خروج CI/CD.
HEAD بأسلوب HTTP/0.9 في ظل تكوينات معينة لقيد الأمان.مدقق أمني بلغة Python خفيف الوزن وخالٍ من التبعيات لـ
CVE-2026-24733، وهو تجاوز لقيد الأمان في Apache Tomcat عبر طلب HEAD بأسلوب HTTP/0.9.
صُمم المشروع من أجل:
للاختبار المصرح به فقط. لا تفحص إلا الأنظمة التي تملكها أو لديك إذن صريح باختبارها.
تعامل Apache Tomcat بشكل غير صحيح مع طلب HEAD بأسلوب HTTP/0.9 في ظل
تكوينات معينة لقيد الأمان.
الشرط ذو الصلة هو تكوين يكون فيه:
GET إلى المورد مقيّدًاHEAD مسموحًا بهHEAD بأسلوب HTTP/0.9في إصدارات Tomcat المتأثرة، قد يؤدي ذلك إلى تجاوز لقيد الأمان.
هذه في الأساس ثغرة سلوكية تعتمد على التكوين. لذلك، لا ينبغي اعتبار اكتشاف إصدار Tomcat متأثر وحده دليلًا تلقائيًا على الاستغلال.
وفقًا للتنبيهات الأمنية الخاصة بـ Apache Tomcat:
| الفرع | الإصدار المُصلح |
|---|---|
| Tomcat 9 | 9.0.113 |
| Tomcat 10.1 | 10.1.50 |
| Tomcat 11 | 11.0.15 |
الإصدارات المتأثرة هي الإصدارات الأقدم المقابلة في تلك الفروع المدعومة.
استشر دائمًا تنبيه Apache الرسمي قبل اتخاذ قرارات المعالجة.
Python 3.9+.
لا حاجة إلى أي حزم Python من طرف ثالث.
يستخدم المدقق مكتبة Python القياسية فقط.
HTTP أساسي:
python3 cve_2026_24733.py \
http://127.0.0.1:8080/protected
HTTPS:
python3 cve_2026_24733.py \
https://127.0.0.1:8443/protected
لمختبر مصرح به يستخدم شهادة موقعة ذاتيًا:
python3 cve_2026_24733.py \
--insecure \
https://127.0.0.1:8443/protected
مخرجات JSON للأتمتة وخطوط أنابيب SIEM/CI:
python3 cve_2026_24733.py \
--json \
https://127.0.0.1:8443/protected
مثال:
{
"cve": "CVE-2026-24733",
"verdict": "INCONCLUSIVE",
"confidence": "medium",
"version": "10.1.49",
"version_assessment": "affected-range"
}
رموز الخروج الرمز المعنى 0 غير معرّض للثغرة / لم يتم تأكيد الثغرة 1 قد يكون معرّضًا للثغرة 2 غير حاسم أو خطأ في الماسح
هذا يجعل الأداة مناسبة لـ CI/CD:
python3 cve_2026_24733.py \
--json \
https://target.example/protected
if [ $? -eq 1 ]; then
echo "Potential CVE-2026-24733 exposure"
exit 1
fi
منهجية الكشف ينفذ المدقق طلبين محدودين ضد المسار الصريح الذي يقدمه المشغّل:
طلب GET عادي عبر HTTP/1.1 يُرسل طلب تقليدي لتحديد سلوك الوصول الطبيعي.
طلب HEAD بأسلوب HTTP/0.9 يرسل المدقق طلبًا بأسلوب HTTP/0.9 عن قصد:
HEAD /protected
لا يحتوي الطلب عن قصد على إصدار HTTP أو ترويسات HTTP/1.x.
تتم مقارنة الملاحظتين.
النتيجة ذات الأهمية الخاصة هي:
GET /protected -> 401/403 HTTP/0.9 HEAD -> response received
عند دمج ذلك مع إصدار Tomcat متأثر، يُبلَّغ عن ذلك على أنه:
POTENTIALLY VULNERABLE
تستخدم الأداة كلمة potentially عن قصد لأن مكونات الشبكة والوكلاء العكسيين وتوجيه التطبيقات وسياسات الأمان الخاصة بنقاط النهاية يمكن أن تؤثر على الملاحظة.
الإيجابيات الكاذبة هذا المدقق متحفظ عن قصد.
ينبغي التحقيق في نتيجة POTENTIALLY_VULNERABLE بدلًا من اعتبارها استغلالًا مؤكدًا بشكل أعمى.
تشمل الأسباب المحتملة:
الوكلاء العكسيون
سلوك WAF
موازنات التحميل
عُقد خلفية مختلفة
مرشحات servlet المخصصة
التفويض على مستوى التطبيق
تكوين خاص بنقاط النهاية
خوادم HTTP غير Tomcat أمام Tomcat
للمعالجة عالية الثقة، افحص إصدار Tomcat وقيود الأمان المقابلة.
تصميم الأمان لا يقوم المدقق عن قصد بما يلي:
الزحف إلى الهدف
تعداد الأدلة
تخمين عناوين URL بالقوة الغاشمة
تجاوز المصادقة
استخراج بيانات التطبيق المحمية
تنفيذ أوامر
رفع ملفات
تعديل حالة الخادم
محاولة تصعيد الصلاحيات
تسلسل المشكلة إلى ثغرة أخرى
يقدم المشغّل نقطة النهاية التي يجري اختبارها بشكل صريح.
تجميع الاستجابات محدود لمنع تنزيل استجابات كبيرة دون داعٍ.
سير العمل الدفاعي الموصى به إذا أبلغت الأداة عن:
POTENTIALLY VULNERABLE
حدد إصدار خلفية Tomcat الفعلي.
تحقق مما إذا كانت نقطة النهاية تستخدم قيد أمان يقيّد
GET ويسمح بـ HEAD.
افحص توجيه الوكيل العكسي/WAF.
قم بترقية Tomcat إلى الإصدار المُصلح المناسب.
أعد اختبار نفس نقطة النهاية.
راجع السجلات بحثًا عن حركة HTTP/0.9 غير المتوقعة.
إذا لزم الأمر، احظر مؤقتًا طلبات HTTP/0.9 المشوهة على الوكيل العكسي أثناء تنفيذ المعالجة.
الإفصاح المسؤول إذا كشف الاختبار عن مشكلة أمنية غير معروفة سابقًا:
لا تفصح علنًا عن معلومات الهدف الحساسة.
احتفظ بالأدلة ذات الصلة.
أبلغ المؤسسة المتأثرة.
اتبع عملية الإبلاغ الأمني الخاصة بالمورّد.
نسّق الجداول الزمنية للإفصاح بمسؤولية.
المراجع التنبيهات الأمنية لـ Apache Tomcat:
https://tomcat.apache.org/security-9
https://tomcat.apache.org/security-10
https://tomcat.apache.org/security-11
CVE:
https://www.cve.org/CVERecord?id=CVE-2026-24733
NVD:
https://nvd.nist.gov/vuln/detail/CVE-2026-24733
الترخيص رخصة MIT.
استخدم بمسؤولية وفقط ضد الأنظمة التي لديك إذن بشأنها.