jsonscraper

ثغرة Brotli تمس .NET وNode.js: كيفية فحص التطبيقات وتحديثها

ترتبط CVE-2026-111497 بمعالجة بيانات Brotli مُعدّة خصيصًا. افحص ليس إصدار بيئة التشغيل فحسب، بل أيضًا الاستخدام الفعلي لوحدة فك الترميز.

السياسة التحريرية الإبلاغ عن خطأ

قد يستقبل التطبيق حركة مرور HTTPS عادية، ومع ذلك يعالج مدخلات خطرة إذا كان يفك ضغط بيانات Brotli التي يقدّمها المستخدم. في 25 أكتوبر 2026، أصدرت Microsoft تحديثات طارئة لـ .NET لمعالجة تجاوز سعة في مخزن مؤقت داخل وحدة فك ترميز Brotli؛ وتحمل الثغرة الرقم CVE-2026-111497. وأدرجت Node.js إصلاح الثغرة نفسها في إصدار أمني منفصل صدر في 21 أكتوبر. الخطوة الأولى للمطوّر هي تحديد المسار من البيانات الخارجية إلى وحدة فك الترميز، ثم تحديث بيئة التشغيل وإعادة بناء التطبيق أو تشغيله مجددًا.

مقال: ثغرة Brotli تمس .NET وNode.js: كيفية فحص التطبيقات وتحديثها
الملخص: في 25 أكتوبر، أصدرت Microsoft تحديثات طارئة لـ .NET لمعالجة ثغرة في وحدة فك ترميز Brotli، رقمها CVE-2026-111497. وأدرجت Node.js إصلاح الثغرة نفسها في إصدارات الأمان الصادرة في 21 أكتوبر. لتقييم المخاطر، حدّد التطبيقات التي تفك ترميز بيانات غير موثوقة، وإصدار المكتبة المستخدم في بيئة النشر.
دور الصورة: غلاف — الفكرة المحورية
القسم: 
الموضوع المرئي: رسم توضيحي لـ Brotli compresse
© jsonscraper · رسم توضيحي مولّد بالذكاء الاصطناعي

بحسب وصف Microsoft، قد تمكّن ثغرة .NET مهاجمًا غير مصادق عليه من قراءة ذاكرة العملية أو إتلافها، ما قد يؤدي إلى كشف البيانات أو رفض الخدمة أو رفع الامتيازات. صدرت الإصلاحات لـ .NET 8 و9 و10، وكذلك .NET 11 Release Candidate 3. وبالنسبة إلى .NET 8، الإصداران المحددان هما runtime 8.0.33 وSDK 8.0.133 أو 8.0.427. ولا يتأثر .NET Framework بهذه الثغرة.

أين ينشأ الانكشاف للخطر

ينشأ الخطر عندما يمرر التطبيق تدفق Brotli غير موثوق إلى وحدة فك ترميز معرضة للثغرة. في .NET، قد يحدث ذلك عند استخدام فك ضغط الطلبات في ASP.NET Core، أو فك الضغط التلقائي للاستجابات عبر HttpClient، أو الاستدعاء المباشر لواجهات برمجة التطبيقات من System.IO.Compression، مثل BrotliStream وBrotliDecoder. وتسرد توصية .NET هذه المسارات، وتشير إلى أن فك ضغط الطلبات الواردة وفك الضغط التلقائي للاستجابات معطلان افتراضيًا.

جرد الحزم ليس سوى بداية الفحص. ابحث عن إعدادات البرمجيات الوسيطة وعملاء HTTP، والاستدعاءات المباشرة لوحدة فك الترميز، والمكونات الخارجية التي تستقبل بيانات مضغوطة. تحقّق مما إذا كانت هذه البيانات تأتي من العملاء أو خطافات الويب أو الوكلاء أو واجهات API الخارجية، ومن حدود الحجم ووقت المعالجة المطبّقة قبل فك الضغط. يساعد ذلك على تحديد مواضع تلقي الشيفرة المعرضة للثغرة بيانات يتحكم بها مصدر خارجي.

تحديث .NET

ثبّت التحديث الخاص بفرع الإصدار الذي تستخدمه: .NET 8 إلى 8.0.33، و.NET 9 إلى 9.0.22، و.NET 10 إلى 10.0.14؛ أما .NET 11 فإلى Release Candidate 3. في التطبيقات المعتمدة على إطار العمل، ثبّت بيئة التشغيل المحدّثة وأعد تشغيل التطبيق. أما التطبيقات المستقلة فتحتاج إلى إعادة البناء والنشر: تحديث بيئة التشغيل على المضيف لا يستبدل النسخة المضمّنة في التطبيق. وأعد بناء الحاويات وانشرها باستخدام صور .NET محدّثة.

بالنسبة إلى NativeAOT، استخدم أيضًا حزم SDK وبيئة التشغيل المحدّثة عند إعادة النشر. إذا تعذر نشر الإصلاح حاليًا، فعطّل Brotli مؤقتًا على مسارات الإدخال التي تبيّن أنها تستقبل بيانات غير موثوقة. اختبر الطلبات العادية وعمليات التكامل، إذ قد يغيّر تعطيل الضغط طريقة التعامل مع العملاء الذين يرسلون أجسام طلبات مضغوطة.

افحص Node.js والاعتماديات النظامية

أعلن مشروع Node.js عن الثغرة في 21 أكتوبر: إذ تتأثر وحدة فك ترميز Brotli المضمّنة في Node.js 22.x و24.x و26.x. ويحدد إصدار الأمان من Node.js الإصدارات المصححة: 22.23.4 و24.22.1 و26.12.1 على الترتيب. حدّث الفرع المدعوم الذي تستخدمه وأعد تشغيل الخدمة. ووفقًا لوصف المشروع، تظهر المشكلة عندما يفك التطبيق بيانات يقدّمها المهاجم باستخدام node:zlib؛ وقد يؤدي تلف الذاكرة إلى تعطل البرنامج أو كشف محتويات الذاكرة أو تنفيذ تعليمات برمجية عن بُعد.

افحص أيضًا الاعتماديات المورّدة منفصلة عن Node.js أو .NET النظاميين. تحقّق من إصدارات Brotli في الحاويات ومخرجات البناء، ثم أعد الفحص بعد النشر. وثبّت صورة الأساس المحدّثة في CI، وأدرج التحقق من إصدارات المكتبات المعرضة للثغرات ضمن عملية البناء المعتادة.

خطوات العمل باختصار

  1. أعد قائمة بالتطبيقات وSDK وبيئات التشغيل والحاويات وبُنى NativeAOT التي تستخدم Brotli.
  2. حدّد المواضع التي تمر فيها البيانات الخارجية عبر فك ترميز تلقائي أو مباشر.
  3. حدّث .NET وNode.js والمكتبات المورّدة منفصلة إلى الإصدارات المصححة؛ وأعد بناء التطبيقات المستقلة والحاويات.
  4. أعد تشغيل العمليات وتحقق من الإصدارات في البيئة العاملة، لا في ملفات المشروع فحسب.
  5. إلى أن يُنشر الإصلاح، قيّد معالجة مدخلات Brotli غير الموثوقة على المسارات المعرضة للثغرة التي حددتها.

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

People

No people listed for this article yet.

Keep readingأضافت GitHub CLI رموز OAuth منتهية الصلاحية: كيفية التفعيل وفحص التكاملات
Read the next article

حوّل ما تقرأه إلى تكامل عملي

استكشف واجهات API للبيانات الاجتماعية من jsonscraper واختبر الطلبات وأنشئ سير عملك التالي.

استكشف واجهات API