ثغرة XRING غير المُرقّعة في مكتبة XQUIC تتيح للعملاء البعيدين إسقاط خوادم HTTP/3

كشفت شركة الأبحاث الأمنية FoxIO عن ثغرة خطيرة في مكتبة XQUIC مفتوحة المصدر التابعة لشركة علي بابا، والتي تُستخدم في بروتوكول QUIC وHTTP/3. الثغرة، التي أُطلق عليها اسم XRING، تُمكّن أي عميل بعيد من إسقاط الخادم عبر إرسال حركة مرور قانونية تمامًا لا تتجاوز 260 بايت من بيانات QPACK، دون الحاجة إلى تسجيل دخول أو استخدام حزم مشوّهة. حتى الآن، لا يوجد أي تحديث أو تصحيح رسمي لهذه الثغرة.

تفاصيل تقنية حول الثغرة

تعيش المشكلة في طريقة ضغط رؤوس HTTP/3 باستخدام QPACK، حيث تُخزّن البيانات في حلقة ذاكرة (Ring Buffer). عند طلب العميل زيادة حجم الجدول الديناميكي، يقوم XQUIC بإنشاء ذاكرة أكبر وينسخ البيانات إليها. لكن في أحد السيناريوهات، يُخطئ الكود في حساب حجم البيانات المتبقية، فيُبالغ في تقديرها بشكل كبير. على سبيل المثال، عند توسيع جدول بحجم 64 بايت إلى 65، يعتقد النظام أن هناك 70 بايت متبقية بدلًا من 6 فقط. هذا الخطأ ينتقل إلى عملية النسخ، مما يؤدي إلى تجاوز حدود الذاكرة وانهيار العملية. في بعض البيئات مثل Ubuntu 26.04، يلتقط نظام الحماية الداخلي الخطأ ويوقف العملية، لكن في غياب هذا الفحص، يحدث الكتابة خارج حدود الذاكرة.

نطاق التأثير والخدمات المعرضة

الثغرة تؤثر على جميع إصدارات XQUIC حتى الإصدار v1.9.4، بما في ذلك خادم Tengine المبني على Nginx والذي يُستخدم في خدمات علي بابا السحابية وCDN على مواقع مثل Taobao وAlipay. نظرًا لأن المكتبة مفتوحة المصدر، فإن الخطر لا يقتصر على علي بابا وحدها، بل يمتد إلى أي خادم يستخدم XQUIC لدعم HTTP/3 بالإعدادات الافتراضية.

ثغرات مشابهة في بروتوكولات HTTP/2 وHTTP/3

ثغرة XRING تأتي ضمن سلسلة من الثغرات التي ضربت بروتوكولات الضغط في HTTP:

  • في يونيو، ظهرت ثغرة HTTP/2 Bomb التي استهدفت خوادم Nginx وApache وIIS وEnvoy عبر استغلال ضغط HPACK.
  • قبل ثلاثة أسابيع، أُعلن عن ثغرة CVE-2026-42530 في وحدة HTTP/3 الخاصة بـ Nginx، والتي استغلت نفس قناة الترميز الخاصة بـ QPACK.
  • في فبراير، أصلحت HAProxy ثغرتين في QUIC، إحداهما مرتبطة بانخفاض عددي مشابه للخلل وراء XRING.

الفرق الجوهري أن XRING لا يحتاج إلى مدخلات غير قانونية، بل يعتمد على بيانات صحيحة تمامًا، مما يزيد خطورته.

ردود الفعل والإجراءات المؤقتة

الباحث Sébastien Féry من FoxIO كشف الثغرة في 8 يوليو 2026، وأكد أنه حاول التواصل مع فريق أمن علي بابا خمس مرات بين أبريل ومايو دون رد. حتى الآن، لم تُسجّل حالات استغلال في البرية، لكن إثبات المفهوم متاح علنًا. الإجراء المؤقت الموصى به هو تعطيل الجدول الديناميكي في QPACK عبر ضبط SETTINGS_QPACK_MAX_TABLE_CAPACITY إلى صفر، أو إيقاف دعم HTTP/3 بالكامل حتى صدور تحديث رسمي.

محمد طاهر
محمد طاهر
المقالات: 1749

اترك ردّاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.