
تحليل دفاعي لـ CVE-2026-77680، وهو هجوم حجب خدمة (DoS) بسبب التعقيد الخوارزمي في ترويسة HTTP Range في libsoup: تفصيل درجة CVSS، ورسم خرائط سلسلة القتل، وإرشادات الكشف والمعالجة.
التقييم: خطورة متوسطة · CVSS v3.1: 5.3 · الأثر الأساسي: التوافر (استنزاف المعالج / حجب الخدمة)
يوثّق هذا المستودع السلوك التقني والمخاطر والمعالجة وتعيين سلسلة القتل السيبراني (Cyber Kill Chain) الخاصة بـ CVE-2026-77680، وهو خلل في التعقيد الخوارزمي في معالجة ترويسة HTTP Range في libsoup.
CVE-2026-77680 هو ثغرة حجب خدمة في منطق دمج نطاقات HTTP Range في libsoup. في الإصدارات المتأثرة، قد تؤدي معالجة العديد من نطاقات البايت المتكررة والقابلة للتحقيق إلى عمل تربيعي. تستمر المشكلة بعد إصلاح CVE-2025-32907 السابق، لأن كود الدمج كان لا يزال يزيل عناصر المصفوفة فرديًا؛ وكل عملية إزالة قد تنقل العناصر المتبقية في الذاكرة.
قد يرسل مهاجم بعيد غير مصادَق عليه طلب HTTP مصممًا خصيصًا إلى تطبيق خادم يستخدم مسار SoupServer المتأثر. في ظل الظروف القابلة للاستغلال، قد تستهلك معالجة الطلب وقتًا غير متناسب من المعالج وتؤخر الطلبات الأخرى. الأثر المُبلَّغ عنه هو على التوافر فقط؛ ولا تُوصف هذه المشكلة بأنها إفساد للذاكرة أو إفصاح عن معلومات.
يستبدل الإصلاح في المنبع الإزالة المتكررة للعناصر بضغط خطي في المكان، ويرفض ترويسات Range التي تطلب أكثر من 200 نطاق. ينبغي للمشغلين تثبيت تحديث الأمان المناسب من المورّد بدلًا من الاعتماد فقط على حل بديل على مستوى المحيط.
| الحقل | التفاصيل |
|---|---|
| CVE | CVE-2026-77680 |
| المكوّن | GNOME libsoup (مكتبة HTTP) |
| الضعف | CWE-407 — تعقيد خوارزمي غير فعّال |
| الخطورة | متوسطة |
| CVSS v3.1 | 5.3 |
| متجه CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| متطلبات الهجوم | وصول شبكي إلى خدمة متأثرة؛ لا يتطلب مصادقة أو تفاعل مستخدم |
| الأثر الرئيسي | استنزاف المعالج وانخفاض توافر الخدمة |
| المشكلة ذات الصلة | CVE-2025-32907 |
| الإصلاح في المنبع | طلب الدمج !550 في GNOME libsoup |
تتيح طلبات نطاق البايت في HTTP للعميل طلب أجزاء محددة من مورد. في مسار الكود المتأثر، تدمج libsoup النطاقات المتداخلة أو المكررة. قد تتطلب إزالة عنصر من منتصف GArray متجاورة إزاحة العناصر المتبقية. وتكرار تلك العملية أثناء معالجة العديد من النطاقات قد ينتج عملًا بمقدار O(n²) بدلًا من عمل خطي.
يتضمن المسار المُبلَّغ عنه على جانب الخادم الدالة handle_partial_get() في libsoup/server/http1/soup-server-message-io-http1.c، مع تحليل/دمج النطاقات في soup_message_headers_get_ranges_internal() في libsoup/soup-message-headers.c. تكون المشكلة ذات صلة عندما يستخدم تطبيق ما مسار الخادم المتأثر ويعيد استجابة مناسبة بجسم غير فارغ.
يمكن تقييد عدد النطاقات بحدود ترويسة الطلب بدلًا من حد كافٍ ومنخفض لعدد النطاقات. وبالتالي، قد يتسبب طلب واحد في معالجة مفرطة، وقد تؤدي الطلبات المتكررة إلى تضخيم أثر التوافر. يعتمد الأثر الدقيق على الإصدار المنشور وحدود الطلبات وسلوك التطبيق وقدرة الخادم.
درجة CVSS v3.1 المنشورة هي 5.3 (متوسطة).
الدرجة الأساسية المتوسطة لا تعني أن المشكلة يمكن تجاهلها: فالتعرض للإنترنت والبنية التحتية المشتركة والطلبات المتكررة قد تجعل توافر الخدمة مهمًا تشغيليًا.
لا تستنتج وجود ثغرة من مجرد وجود libsoup. تأكد من بناء الحزمة المحدد وما إذا كان الإصلاح قد طُبّق.
سلسلة القتل السيبراني من Lockheed Martin هي نموذج موجّه نحو الاختراق. يُكيّف هذا التخطيط مراحلها مع سيناريو حجب الخدمة؛ فليست كل مرحلة تمثل خطوة منفصلة أو ضرورية لهذه الثغرة.
| المرحلة | النشاط المحتمل في هذا السيناريو | الفرص الدفاعية |
|---|---|---|
| 1. الاستطلاع | تحديد تطبيق يمكن الوصول إليه واستنتاج حزمة HTTP الخاصة به أو سلوكه. | تقليل التعرّض غير الضروري؛ الحفاظ على جرد الأصول والبرمجيات؛ تجنّب الكشف عن معلومات الإصدار غير الضرورية. |
| 2. التسليح | إعداد طلب HTTP يحتوي على عدد مفرط من قيم Range المتكررة أو المتداخلة. | ترقيع المكتبة؛ التحقق من عدد النطاقات وتحديده بحد أقصى؛ تطبيق حدود آمنة لتحليل الطلبات. |
| 3. التسليم | إرسال الطلب المصمم إلى خدمة مكشوفة. | استخدام ضوابط الشبكة، وحمايات الوسيط العكسي، وحدود الاتصالات، وضوابط معدل الطلبات. |
| 4. الاستغلال | إثارة عمل دمج النطاقات المكلف في مسار خادم مصاب. | نشر إصلاح المورّد/المنبع؛ رفض النطاقات المفرطة قبل المعالجة المكلفة. |
| 5. التثبيت | لا ينطبق عادةً: هذا خلل في استنزاف الموارد ولا يثبّت برمجيات خبيثة بحد ذاته. | مراقبة أي نشاط لاحق؛ لا تفترض أن تعطّل الخدمة يعني اختراق المضيف. |
| 6. القيادة والتحكم | غير مطلوب لسلوك حجب الخدمة الأساسي. يمكن استخدام شبكة بوتنت أو وحدة تحكم عن بُعد لتنسيق حركة مرور متكررة، لكن ذلك ليس جوهريًا في CVE. | ربط حركة المرور عبر المصادر؛ تطبيق حمايات DDoS في المنبع حيثما كان مناسبًا. |
| 7. الإجراءات على الأهداف | إضعاف أوقات الاستجابة أو منع المستخدمين الشرعيين من الوصول إلى الخدمة. | مراقبة التوافر والمعالج؛ الحفاظ على السجلات؛ تطبيق إجراءات الاستجابة للحوادث والتعافي. |
النتيجة الأساسية هي تدهور الخدمة أو حجبها، وليس تنفيذ تعليمات برمجية. هذا التمييز مهم للفرز: أعطِ الأولوية لضوابط التوافر والترقيع، مع الاستمرار في فحص السجلات والقياسات بحثًا عن أي مؤشرات اختراق منفصلة.
تقلّل هذه الضوابط من التعرّض لكنها ليست بديلًا عن تثبيت الإصلاح.