
CVE-2026-2332 و4 ثغرات Jetty أخرى لعام 2026: أيّها يصيب إصدار Jetty (أو Spring Boot) لديك، وهل النسخة المُصلَّحة التي تسمّيها Jetty موجودة أصلًا على Maven Central؟ بالنسبة لخطوط 9.4/10/11 التي انتهى دعمها، الجواب هو 'راجع التفاصيل للتوفّر' = 404.
أي من هذه الثغرات الخمس لعام 2026 أصابت نسختك من Jetty (أو Jetty المُضمَّن مع Spring Boot) — وهل النسخة التي يطلب منك المسؤولون الترقية إليها موجودة فعلاً على Maven Central؟
المحور الرئيسي هو CVE-2026-2332 (GHSA-355h-qmc2-wpwf، high / CVSS v3 7.4): تهريب الطلبات المُجزَّأة (chunked request smuggling) في jetty-http.
أصلب حقيقة: النسخ المُصلَّحة العلنية للخطوط الثلاثة القديمة 9.4 / 10 / 11 المنتهية الدعم غير موجودة إطلاقاً — صفحة الأمان الرسمية تكتب لكل واحدة منها
see details for availability (= دعم تجاري)، وتلك الأرقام جميعها تُرجع 404 عند فحصها فعلياً على Maven Central.
java -jar jetty-line-check.jar /path/to/jetty # Jetty مفكوك ومنشور (يفحص lib/*.jar)
java -jar jetty-line-check.jar app.war # war
java -jar jetty-line-check.jar app.jar # Spring Boot fat jar
java -jar jetty-line-check.jar --table # عرض جدول الحكم فقط: الثغرات الخمس × الوحدات × خطوط الإصدارات
java -jar jetty-line-check.jar --utf8 ... # أضِفه عند تشوّه الأحرف الصينية في طرفية Windows
المعيار في المشروع الشقيق tomcat-line-check هو «هل يوجد صنف إصلاح معيّن داخل الـ jar»، لأن إصلاح Tomcat ذاك أضاف صنفاً جديداً.
أما هذه الثغرات في Jetty فلا تصلح معها هذه الطريقة. فالثغرة الرئيسية CVE-2026-2332، إصلاحها عدّل جسم الدالة في HttpParser ولم يُضِف أي صنف
(تم التأكد قبل البناء عبر gh api compare + javap). لذا لا يمكن أن يكون المعيار إلا:
إحداثياتك الكاملة + خط الإصدار، أي الثغرات تصيبها؛ وهل النسخة المُصلَّحة التي حدّدها المسؤولون موجودة فعلاً على Maven Central.
جدول الحكم يُولَّد بواسطة tools/gen_table.py من vulnerabilities[] في الاستشارات الخمس على GitHub + فحص HEAD للـ jar الحقيقي على Maven Central،
ولا يُخرِج الجدول إلا إذا نجحت المجموعات السبع من التأكيدات (الضابط الموجب / الادعاء الجوهري / النسخة النهائية للخطوط القديمة / الحارس / البنية الرئيسية / الوحدات المتشققة / التصنيف).
تلك الكتلة الكاملة من 404 و 无 في الخطوط القديمة (9.4 / 10.0 / 11.0) هي جوهر قيمة هذه الأداة. شغّل --table لرؤية الصورة كاملة.
org.eclipse.jetty، عام 2026)🔴 سطح التأثر الوحيد الصامد هو الثغرة الرئيسية 2332 (مسار التهريب يقع على مسار التحليل الافتراضي الرئيسي ServerConnector / HttpParser،
ولا يتطلب تفعيل أي ميزة محددة). أما الثغرات الأربع الأخرى فتُعامَل كسطر واحد في جدول الحكم فقط:
CVE-2026-10050 (Digest) ضيق جداً —— لا يُصاب به إلا من فعّل مصادقة Digest صراحةً، فلا تجعله نقطة البيع الرئيسية.CVE-2026-6790 تصنيفها medium و CVE-2025-11143 تصنيفها low —— لا يجوز وصفها جميعاً بـ«عالية الخطورة».see details for availability، ونقف عند هذا الحد.GHSA-r7p8-xq5m-436c · GHSA-7p3p-8qv8-m2vh · GHSA-2fvj-hgj9-j2gr · GHSA-wjpw-4j6x-6rwhsee details for availability): https://jetty.org/security.htmlpython tools/gen_table.py --dry # تشغيل التأكيدات فقط، دون كتابة ملفات
python tools/gen_table.py # لا يُكتب CveTable.java إلا بعد نجاح كل التأكيدات
python tools/recheck_before_publish.py # أعِد التشغيل يوم النشر، وإن سقط الادعاء عدّل النص لا المعيار
mvn package # يتطلب JDK 17؛ بلا اعتماديات وقت التشغيل (JUnit لمرحلة الاختبار فقط)
| الرمز | المعنى |
|---|---|
0 | اكتمل الفحص، وقد قُرئ كل ملف فعلاً |
2 | خطأ في الاستخدام (لم يُعطَ مسار) |
4 | هناك ملف تعذّرت قراءته —— ليس zip، أو محتوى مقطوع، أو فشل في القراءة |
🔴 سبب وجود 4: الأثر المكتوب موجَّه للبشر، أما CI والسكربتات فتنظر إلى رمز الخروج. بدونه، سيتحول jar تالف / مشفَّر / ناقص التنزيل
بصمت إلى عبارة «لم يُعثر على مشاكل» —— «لا أستطيع قراءته» و«أنت آمن» يجب أن تكونا جملتين مختلفتين.
⚠️ الـ jar الفارغ المشروع (سجل EOCD بطول 22 بايت) لا يُعدّ غير قابل للقراءة، ولن يُفعِّل 4.
MIT
| الحالة | المعنى |
|---|
PUBLIC | الاستشارة حدّدت نسخة مُصلَّحة، وهي موجودة فعلاً على Maven Central —— ترقية علنية متاحة |
404 | الاستشارة حدّدت نسخة مُصلَّحة، لكنها 404 على Central —— صفحة الأمان الرسمية تكتب see details for availability (دعم تجاري) |
无 | الاستشارة لم تُقدِّم إطلاقاً نسخة مُصلَّحة لهذا الخط (first_patched_version فارغ) —— الإصلاح في هذا الخط يتطلب ترقية عبر إصدار رئيسي |
| CVE | الوحدة | التصنيف | في جملة |
|---|
| CVE-2026-2332 | jetty-http | high / v3 7.4 | ⭐ المحور: \r\n داخل quoted-string في الطلب المُجزَّأ يُعامَل كنهاية ترويسة القطعة → تهريب طلبات (CWE-444) |
| CVE-2026-5795 | jaspi (12.x تشقّقت إلى ee8/9/10/11-jaspi) | high / v3 7.4 | ThreadLocal في JASPI لا يُنظَّف → تجاوز صلاحيات |
| CVE-2026-6790 | jetty-server | medium / v3 5.3 | التباس Host / :authority في HTTP/2·3 |
| CVE-2026-10050 | jetty-security (12.x أضافت ee8/9-security) | high / v4 8.7 | معالجة ISO-8859-1 في مصادقة Digest |
| CVE-2025-11143 | jetty-http | low / v3 3.7 | اختلاف في تحليل URI |