تكشف ثغرة XRING في مكتبة XQUIC عن خطر يتيح لأي عميل بعيد إسقاط خوادم HTTP/3 بحركة مرور قانونية قصيرة، من دون تسجيل دخول أو حزم معطوبة.
ما هي ثغرة XRING في إكس كويك؟
الثغرة ظهرت داخل مكتبة XQUIC مفتوحة المصدر، وهي مكتبة طورتها علي بابا لدعم بروتوكولي QUIC وHTTP/3. المشكلة هنا لا تحتاج إلى بيانات خبيثة معقدة، بل يكفي إرسال دفعة صغيرة من حركة QPACK العادية لتعطيل عملية الخادم بالكامل.
وبحسب التفاصيل المتداولة، فإن الهجوم قد ينجح باستخدام نحو 260 بايت فقط من البيانات. هذا يجعل ثغرة XRING مقلقة، لأنها منخفضة التكلفة وسهلة التنفيذ نظرياً ضد أي خدمة تعتمد الإعدادات الافتراضية للمكتبة.
لماذا تُعد المشكلة خطيرة؟
- لا تتطلب تسجيل دخول أو صلاحيات مسبقة.
- لا تعتمد على حزم تالفة أو مخالفة للمواصفات.
- تؤثر على الإصدارات حتى v1.9.4، وهو أحدث إصدار معروف.
- لا يوجد تحديث رسمي يعالج الخلل حتى الآن.
كيف تؤثر ثغرة XRING على خوادم HTTP/3؟
تكمن المشكلة في آلية ضغط الرؤوس داخل HTTP/3 عبر QPACK. هذه الآلية تقلل تكرار إرسال الترويسات نفسها، مثل user-agent، من خلال جدول ديناميكي مشترك بين العميل والخادم.
عندما يطلب العميل توسيع هذا الجدول، تقوم XQUIC بإنشاء مساحة ذاكرة أكبر ثم تنقل البيانات القديمة إليها. الخطأ البرمجي حدث لأن سطراً واحداً استخدم متغيراً غير صحيح أثناء حساب حجم الجزء المتبقي من البيانات داخل ring buffer.
- المكتبة قد تحسب 70 بايت للنقل بينما الحجم الحقيقي 6 بايت فقط.
- هذا الفرق الخاطئ يمر إلى عملية نسخ في الذاكرة.
- النتيجة قد تكون تجاوز حدود الذاكرة وانهيار العملية.
من هي الأنظمة المتأثرة بهذه الثغرة الأمنية؟
الخطر لا يقتصر على علي بابا نفسها، لأن XQUIC مكتبة مفتوحة المصدر ويمكن دمجها في أكثر من منتج أو خادم. أي بيئة تستخدم HTTP/3 مع إعدادات QPACK الافتراضية قد تكون معرضة للهجوم.
ومن أبرز الأمثلة المذكورة خادم Tengine المبني على Nginx، وهو مستخدم في بنى تحتية واسعة مرتبطة بالخدمات السحابية وشبكات توصيل المحتوى. لذلك ترى تيكبامين أن نطاق التأثير المحتمل يتجاوز تطبيقاً واحداً إلى خدمات ويب كبيرة تعتمد الأداء العالي.
البيئات المعرضة أكثر من غيرها
- الخوادم التي تفعل HTTP/3 افتراضياً.
- الأنظمة التي تستخدم الجدول الديناميكي في QPACK.
- الخدمات العامة المتاحة مباشرة عبر الإنترنت.
كيف يمكن تقليل خطر ثغرة XRING حالياً؟
حتى لحظة كتابة هذا التقرير، لا يتوفر تصحيح رسمي ولا رقم CVE منشور للمشكلة. في بيئات الاختبار، تمكنت آليات الحماية مثل _FORTIFY_SOURCE=2 من إيقاف العملية عند اكتشاف طول نسخ غير منطقي، لكن ذلك لا يمنع التعطل نفسه.
الحلول المؤقتة تركز على تقليل سطح الهجوم إلى حين صدور إصلاح دائم. ووفقاً لما تتابعه تيكبامين، فإن أمام المشغلين خيارين عمليين في الوقت الحالي:
- ضبط SETTINGS_QPACK_MAX_TABLE_CAPACITY على القيمة 0 لتعطيل الجدول الديناميكي.
- إيقاف دعم HTTP/3 مؤقتاً في الخدمات الحساسة.
- مراجعة الاعتماد على XQUIC وتحديث خطط الاستجابة للحوادث.
الخلاصة أن ثغرة XRING ليست مجرد خطأ نظري، بل خلل يمكن استغلاله بحركة مرور شرعية لإسقاط خوادم HTTP/3 بسرعة. لذلك يجب على فرق التشغيل مراقبة أي استخدام لمكتبة XQUIC والاستعداد لتطبيق المعالجات المؤقتة فوراً.