ثغرة حرجة في Brotli، مكتبة الضغط مفتوحة المصدر التي تديرها جوجل والمدمجة في Node.js، قد تتيح للمهاجمين إفساد الذاكرة وتشغيل تعليماتهم البرمجية على الأنظمة المتأثرة. تُتابع الثغرة تحت المعرّف CVE-2026-111497 واكتسبت عدة ألقاب، منها HTTP2Shell وNode2Shell وBroccoli2Shell، لأن الباحثين اكتشفوها أولاً في Node.js قبل أن يدركوا أن خلل وحدة فك الترميز نفسه يمتد إلى منظومات أخرى.
التصحيحات الطارئة بدأت بالصدور بالفعل. أصدرت مايكروسوفت تحديثاً أمنياً طارئاً لـ .NET يوم الأحد، محذّرة من أن الاستغلال الناجح يسمح بتصعيد الصلاحيات على الأنظمة التي تعمل بنسخة مصابة. وأصدرت Node.js وجوجل إصلاحات مستقرة في 21 أكتوبر، تلاه الكشف العلني في 22 أكتوبر بحسب BleepingComputer. توجد برامج استغلال إثباتية، لكن لا تقارير حتى الآن عن هجمات فعلية في الواقع.
ثغرة Brotli: كيف تعمل HTTP2Shell؟
الخلل هو تجاوز سعة المخزن المؤقت. تدفّق مضغوط بـ Brotli ومُصمّم بعناية يستدعي تبديل كتلة غير صالح يعامله وحدة فك الترميز خطأً كطلب مزيد من المدخلات. وتوضح Node.js في تنبيهها أن وحدة فك الترميز التدفقية تواصل بعدها إلحاق بايتات المدخلات بمخزن داخلي من ثمانية بايتات، فيتجاوز حدوده ويُفسد الذاكرة المجاورة.
لا يحتاج المهاجم سوى إلى تطبيق يفكّ ضغط بيانات خبيثة. وقد يحدث ذلك عبر تقديم استجابة HTTP مضغوطة لتطبيق يجلب رابطاً، أو بإرسال طلب مضغوط مباشرة إلى خادم. سُمّيت الثغرة HTTP2Shell بسبب أثرها على عملاء وخوادم HTTP، لكنها لا تقتصر على HTTP/2، وأكّدت شركة الأمن السيبراني Imperva أن استغلالها قد يؤدي إلى تنفيذ تعليمات برمجية عن بُعد.
- النسخ المصابة من Brotli: 1.0.3 حتى 1.0.9 و1.1.0 و1.2.0
- نوع الخلل: تجاوز سعة المخزن المؤقت في وحدة فك الترميز التدفقية
- الأثر: إسقاط العملية، كشف محتوى الذاكرة، تنفيذ تعليمات برمجية عن بُعد



