الأمن السيبراني

ثغرة Brotli (CVE-2026-111497): خلل في مكتبة واحدة يضرب Node.js و.NET وPython وغيرها

ثغرة Brotli المعروفة بالرمز CVE-2026-111497 هي ثغرة كتابة خارج الحدود حرجة في فك ترميز Brotli من Google تطال Node.js و.NET وPython وBun وما بعدها. إليك من المتأثرون، وكيف تعرف إن كنت معرّضًا، والإصدارات المُصحَّحة لكل منظومة.

وقاص احمد وسیر
وقاص احمد وسیر 31 أكتوبر 2026 6 دقائق قراءة
ثغرة Brotli (CVE-2026-111497): خلل في مكتبة واحدة يضرب Node.js و.NET وPython وغيرها

خلل واحد في مكتبة ضغط Brotli من Google — يُتتبَّع بالرمز CVE-2026-111497 ويُلقَّب بـ Node2Shell وBrotli2Shell وHTTP2Shell — يتيح للمهاجم إفساد الذاكرة في أي برنامج يفك ضغط بيانات Brotli التي يتحكم بها المهاجم، مما قد يؤدي إلى تنفيذ تعليمات برمجية عن بُعد. ولأن Brotli مُضمَّن داخل Node.js و.NET وPython وBun وقائمة طويلة من البرمجيات الأخرى، تحوّل خلل واحد في المصدر إلى سباق تصحيحٍ محموم عبر المكدس بأكمله في أواخر أكتوبر 2026. فإذا كانت خدمتك تقبل جسم طلبٍ بترميز Content-Encoding: br أو تفك ترميز Brotli من أي مصدر غير موثوق، فأنت بحاجة إلى التصحيح.

هذه ليست مجرد ثغرة CVE أخرى تخص منتجًا واحدًا. فثغرة Brotli تقع في فك الترميز المشترك المكتوب بلغة C الذي تحزمه عشرات بيئات التشغيل، لذا فإن السؤال المثير للاهتمام ليس "هل Node.js متأثر؟" (فهو كذلك) بل "أيٌّ من الأشياء التي أشغّلها ترتبط بالمكتبة نفسها بصمت؟" يرسم هذا المقال نطاق التأثير الكامل ويمنحك الإصدار المُصحَّح لكل منظومة في جدول واحد.

ما هي الثغرة CVE-2026-111497؟

الثغرة CVE-2026-111497 هي ثغرة كتابة خارج الحدود في فك ترميز Brotli. وفقًا لـملاحظات إصدار الأمان الخاصة بـ Node.js، ظل فك الترميز المتدفق يُلحق بايتات الإدخال داخل مخزن مؤقت داخلي بحجم ثمانية بايتات دون التحقق من الحدود، فتتسبب بيانات Brotli المضغوطة والمُصمَّمة خصيصًا في تجاوز سعة ذلك المخزن المؤقت وإفساد ذاكرة العملية. والنتائج العملية هي تعطّل، أو كشف ذاكرة العملية، أو في أسوأ الأحوال تنفيذ تعليمات برمجية عن بُعد. وقد صنّفت Google الخلل بدرجة 9.2 وفق CVSS v4.0، بينما أشارت وكالة الأمن السيبراني في سنغافورة إلى درجة 9.8 وفق CVSS v3.1 — وفي كلتا الحالتين فالدرجة حرجة. والشرط المسبق الوحيد هو أن يفك تطبيقٌ هشٌّ ضغطَ بيانات Brotli التي يمكن للمهاجم التأثير فيها، وهو نمط شائع جدًا: فـ Brotli (br) هو ترميز محتوى HTTP قياسي تدعمه كل المتصفحات وشبكات توصيل المحتوى الرئيسية.

لماذا يضرب خلل واحد هذا العدد الكبير من المنتجات

شُحن Brotli كمكتبة C صغيرة وسريعة تحزمها بيئات تشغيل التطبيقات مباشرةً بدلًا من الاعتماد عليها على مستوى نظام التشغيل. وهذا التصميم هو السبب في أن الإصلاح كان لا بد أن يُعاد إصداره من كل مشروع بدلًا من تصحيحه مرة واحدة. ويشير مزوّد الأمان Field Effect إلى أن الخلل يطال منظومات متعددة دفعة واحدة، كما يسرد تنبيه Tenable نطاق تأثير يشمل Python وBun و.NET ومكتبة brotli4j الخاصة بـ Java ووكيل Envoy وشبكة خدمات Istio، إضافةً إلى أدوات البيانات مثل FFmpeg وApache Arrow وClickHouse. وهذا هو الشكل ذاته من "خلل واحد، مكدسات كثيرة" الذي تناولناه مع قنبلة HTTP/2 التي عطّلت nginx وApache وIIS: بنية أساسية مشتركة وثق بها الجميع، تنهار في كل مكان في آنٍ واحد. كما أنه يتناغم مع المخاطر على مستوى التبعيات التي وقفت خلف أزمة سلسلة توريد npm لعام 2026 — فالشيفرة التي لم تختر تثبيتها أبدًا تظل سطح هجومٍ لك.

مصفوفة التصحيح: الإصدارات المُصحَّحة حسب المنظومة

حدّث إلى الإصدارات أدناه. وإن كنت تشغّل حاويات أو صور CI، فأعد بناءها — فصورة الأساس المُصحَّحة هي أسرع وسيلة لإصلاح بيئات التشغيل المُحزَّمة دفعةً واحدة.

المنظومةالإصدار (الإصدارات) المُصحَّحملاحظات
Google Brotli (مكتبة C)1.0.10, 1.1.1, 1.2.1المصدر الأصلي للخلل؛ وكل ما عداه يُعيد تحزيم هذه المكتبة
Node.js22.23.4, 24.22.1, 26.12.1صُحِّح عبر node:zlib في إصدار 21 أكتوبر؛ والإصدار 20.x بلغ نهاية عمره ولن يُصحَّح
.NET8.0.33, 9.0.22, 10.0.14طبّق تحديث بيئة التشغيل الصادر في أكتوبر
Python (brotli / brotlicffi)1.2.1 / 1.2.1.0شائع في عملاء HTTP الذين يتفاوضون على ترميز br
Bun1.4.4يحزم فك ترميز Brotli الخاص به
brotli4j, Envoy, Istio, FFmpeg, Apache Arrow, ClickHouse, PHP لنظام Windowsحسب تنبيه المزوّدجميعها ترتبط بفك الترميز نفسه — راجع ملاحظات إصدار كل مشروع

هل أنا معرّض فعلًا؟

تثبيت بيئة تشغيل هشّة ليس مثل كونك قابلًا للاستغلال. واختبار التعرّض بسيط: هل تفك شيفرتك ضغطَ بيانات Brotli التي يمكن لمهاجمٍ توفيرها؟ اطرح هذه الأسئلة الثلاثة بالترتيب:

  • هل تقبل أجسام طلبات Brotli؟ إن واجهة برمجة تطبيقات أو وكيلًا يحترم Content-Encoding: br في الطلبات الواردة هو المسار المعرّض الكلاسيكي — إذ يتحكم المهاجم في البايتات المضغوطة مباشرةً.
  • هل تجلب محتوى عن بُعد وتفك ضغطه؟ إن عملاء HTTP من جهة الخادم، ومستهلكي webhook، والزاحفين الذين يسمحون للخادم بإرسال استجابات بترميز br يكونون معرّضين إن كان الطرف البعيد غير موثوق.
  • هل تفك ضغط ملفات رفعها المستخدمون أو مخزّنة عبر مسار Brotli؟ إن خطوط بناء البرمجيات، ومعالجات المستندات، وأدوات البيانات (Arrow وClickHouse وFFmpeg) التي تستوعب تدفقات .br تندرج ضمن ذلك.

إذا كانت الإجابة على الأسئلة الثلاثة جميعها هي "لا" — على سبيل المثال، إن كنت تضغط فقط الاستجابات الصادرة ولا تفك ترميز Brotli غير موثوق أبدًا — فمخاطرتك العملية أقل، لكن صحِّح على أي حال. ويشدد تحليل Rapid7 على أن مسارات فك الترميز يسهل الوصول إليها بشكل غير مباشر عبر مكتبات لم تدرك أنها تتفاوض على br، لذا فإن مقولة "لا أظن أنني أستخدم Brotli" ليست افتراضًا آمنًا.

الخط الزمني: فجوة ثمانية أشهر

التفصيل الأكثر إزعاجًا هو التأخير. فقد التُزم بالإصلاح في مستودع Brotli المصدري في 27 فبراير 2026، لكن إصدارات المكتبة المُصحَّحة لم تُشحن حتى 21 أكتوبر 2026 — أي قرابة ثمانية أشهر ظل خلالها التصحيح قابعًا في سجل المصدر العام بينما بقيت الملفات الثنائية المُصدَرة هشّة. وقد أعادت Datadog Security Labs إنتاج الخلل باسم Node2Shell، وبحلول الوقت الذي وصل فيه الكشف المنسّق في 30 أكتوبر كان نموذج إثبات المفهوم متاحًا للعامة وكان الخلل بحسب التقارير يُستغَل بنشاط. فالالتزام العام في المصدر هو خريطة طريق للمهاجمين؛ والنافذة بين "مُصحَّح في المصدر" و"مشحون إلى المستخدمين" هي بالضبط حيث أصبح هذا الخلل خطيرًا. وهو درس تأخّر التصحيح نفسه الذي يقف خلف تقريرنا عن أسوأ أسبوع تصحيحٍ في 2026.

ماذا تفعل الآن

عامِل هذا على أنه مهمة تُنجَز في اليوم نفسه على أي خدمة متصلة بالإنترنت. صحِّح بيئات التشغيل إلى الإصدارات الواردة في الجدول، وأعد بناء صور الحاويات وإعادة نشرها لتحديث النسخ المُحزَّمة، وأعد تشغيل أحمال العمل — فالعملية القائمة في الذاكرة تظل تشغّل فك الترميز الهشّ القديم حتى تُعاد تشغيلها. وبعد التصحيح، راجع سجلات الوصول والطلبات بحثًا عن المسارات المعرّضة المذكورة أعلاه؛ فاستغلالات إفساد الذاكرة كثيرًا ما تترك دورات تعطّلٍ أو عمليات إعادة تشغيل غير طبيعية قبل أن تنجح. وإن كنت تدير بنيتك التحتية بنفسك، فإن قائمة التحقق لتأمين أول ساعة من إعداد VPS تغطي ممارسات التسجيل والتحديث الصحية التي تجعل الحادثة التالية من هذا النوع تصحيحًا روتينيًا بدلًا من تدريبٍ على إطفاء حريق.

الأسئلة الشائعة

هل يُستغَل CVE-2026-111497؟

يتوفر نموذج إثبات مفهوم للعامة، والثغرة بحسب التقارير تُستغَل بنشاط اعتبارًا من أواخر أكتوبر 2026. وبالاقتران مع الخطورة الحرجة وقاعدة التثبيت الضخمة، فإن ذلك يضعها بثبات في خانة "صحّح الآن".

أيُّ إصدارات Node.js مُصحَّحة؟

إصدارات Node.js 22.23.4 و24.22.1 و26.12.1، الصادرة في 21 أكتوبر 2026. أما Node.js 20.x فقد بلغ نهاية عمره في 30 أبريل 2026 ولن يحصل على إصلاح — فانتقل عنه.

أنا أضغط الاستجابات فقط ولا أفك ضغط Brotli أبدًا. هل أنا بأمان؟

مخاطرتك المباشرة أقل لأن الخلل في فك الترميز، لا في المُرمِّز. لكن المكتبات وعملاء HTTP يمكنهم التفاوض على br وفك ترميزه دون أن تلاحظ، لذا صحِّح بغض النظر بدلًا من الاعتماد على ذلك الافتراض.

هل يُصلح تصحيح نظام التشغيل الثغرة؟

عادةً لا بمفرده. فمعظم البرمجيات المتأثرة تحزم نسختها الخاصة من Brotli، لذا يجب عليك تحديث كل بيئة تشغيل (Node.js و.NET وBun وحزم Python) وإعادة بناء صور الحاويات — فتحديث حزمة نظام التشغيل وحده لن يحدّث مكتبةً مُحزَّمة.

Sources

وقاص احمد وسیر

وقاص احمد وسیر

وقاص احمد وسیر مطوّر ومهندس أتمتة بخبرة تزيد على 8 سنوات في بناء أنظمة إنتاجية يستخدمها أكثر من 100 ألف شخص. يبني تطبيقات SaaS متعددة المستأجرين، وأتمتة بالذكاء الاصطناعي (n8n، تدفقات LLM، بوتات واتساب)، وبنية استضافة (WHM/cPanel، CloudLinux) — وهو صانع WaSphere وFlowMaticX وعلامة الاستضافة WaseerHost. أنجز أكثر من 100 مشروع لشركات صغيرة ومتوسطة ووكالات وشركات ناشئة ممولة.

ذات صلة

المزيد في الأمن السيبراني

عرض الكل →
ثغرات Citrix NetScaler اليوم صفر (CVE-2026-88771 وCVE-2026-88772): استُغلّت لأسابيع — رقّع وطارِد الاختراق الآن
الأمن السيبراني

ثغرات Citrix NetScaler اليوم صفر (CVE-2026-88771 وCVE-2026-88772): استُغلّت لأسابيع — رقّع وطارِد الاختراق الآن

استُغلّت ثغرتان حرجتان من نوع اليوم صفر في Citrix NetScaler، هما CVE-2026-88771 وCVE-2026-88772، لأسابيع قبل صدور الترقيع في سبتمبر 2026. إليك ما تفعلانه، ومن يقف خلفهما، ولماذا لا يكفي الترقيع وحده.

وقاص احمد وسیر6 دقائق قراءة
ثغرة يوم صفر في Metabase (CVE-2026-72898): حقن SQL بدرجة CVSS 10.0 مُستغَلّ في الواقع
الأمن السيبراني

ثغرة يوم صفر في Metabase (CVE-2026-72898): حقن SQL بدرجة CVSS 10.0 مُستغَلّ في الواقع

‏CVE-2026-72898 هي ثغرة حقن SQL غير مُصادَق عليها بدرجة CVSS 10.0 في نقطة نهاية إعادة تعيين كلمة المرور في Metabase، جرى استغلالها في الواقع لمنح المهاجمين صلاحية الوصول كمسؤول. حدِّث إلى إصدار مُصحَّح الآن، أو احجب نقطة النهاية.

وقاص احمد وسیر7 دقائق قراءة
ShinyHunters حوّلت موافقة OAuth إلى مفتاح رئيسي: موجة اختراقات Salesforce لعام 2026
الأمن السيبراني

ShinyHunters حوّلت موافقة OAuth إلى مفتاح رئيسي: موجة اختراقات Salesforce لعام 2026

في يوليو 2026 شرحت Microsoft كيف اخترقت ShinyHunters مئات مستأجري Salesforce عبر التصيّد بموافقة OAuth، لا عبر كلمات مرور مسروقة. إليك كيف عملت حملة ShinyHunters Salesforce OAuth، ومن استهدفت، وكيف تدافع عن حزمة SaaS الخاصة بك.

وقاص احمد وسیر6 دقائق قراءة

النقاش · 0

كن لطيفًا. التعليقات علنية.

    النشرة البريدية · إصدار الاثنين

    ملخّص الاثنين.

    بريد واحد كل صباح اثنين. الأسبوع المقبل في الذكاء الاصطناعي والشركات الناشئة والاستضافة وأدوات المطوّرين — بلا حشو، وبلا إعلانات مموّهة.

    مجاني. يمكنك إلغاء الاشتراك بنقرة واحدة.