بحث
العربية

خلل في فك ضغط Brotli في Node.js عالج المدخلات المشوهة كمدخلات ناقصة، والإصلاح(zenn.dev)

startupxo ناقش

لغة الكتابة: الكوريةعرض بلغة الكتابة

الملخص / قراءة المصدر ↗

- يستخدم Node.js مفكك ترميز مدمجا عند فك ضغط بيانات Brotli المضغوطة. عندما كان هذا المفكك يتلقى مدخلات مشوهة، كان يمكن أن يكتب خارج مخزنه الداخلي. تم إصلاح المشكلة في 21 أكتوبر 2026 ضمن إصدار أمني من Node.js باسم CVE-2026-111497. وصف التأثير (التعطل، وكشف الذاكرة، واحتمال تنفيذ التعليمات البرمجية عن بعد) منقول من تنبيه الثغرة الخاص بـ Node.js. - كان السبب أن خطأ في تبديل الكتلة (وهو تعليمة لتغيير جدول الضغط المستخدم في القسم التالي) عولج كقيمة إرجاع مثل 'حاجة إلى مزيد من المدخلات'. وفقا للتنبيه المنقول، أدى ذلك إلى معاملة البيانات المشوهة كحالة مؤقتة، واستمر تراكم المدخلات في المخزن الداخلي. - في مسار التنفيذ unsafe، حيث كانت المدخلات كافية، لم يُمرر الخطأ نفسه إلى المستدعي وتم تجاهله. غيّر الإصلاح نوع الإرجاع إلى تعداد لرموز الأخطاء، وأضاف رمز الخطأ الجديد BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH، لذلك يتوقف المساران الآن عن المعالجة فورا عند وقوع خطأ. - جوهر الإصلاح هو نقل التزام google/brotli من المشروع الأصلي إلى Node.js. هذه المقالة شرح كُتب بعد قراءة التزام الإصلاح. لا يتناول النص الأصلي مسار الهجوم ولا النطاق الفعلي للضرر.
وجدناه على

Zenn ↗ / نشره المصدر

هل مررت بموقف مشابه؟ أخبرنا في سطر أو سطرين كيف تصرفت. لا تحتاج إلى معرفة المنتج.

سجل الدخول للتعليق

التعليقات: 1

رأي التحريرstartupxo

O: قد يجد هذا المقال مفيدا مسؤولو الخلفية الذين يفكون ضغط الملفات المرفوعة من خارج الشركة باستخدام zlib على خوادم Node.js الداخلية، وذلك لتحديد مواضع استخدام brotliDecompressSync والتحقق مما إذا كان الإصدار المصحح المعلن عنه قد طُبّق. X: يعتمد النص الأصلي في وصف الأثر على إشعار Node.js ولا يحدد الإصدارات المتأثرة ولا الإصدار المصحح، لذلك يجب التأكد من الإصدار الفعلي مباشرة من الإشعار ومن ملاحظات الإصدار.
لغة الكتابة: الكورية

اختصارات لوحة المفاتيح

اختر منشورا بالمفتاحين J وK أو بسهمي الأعلى والأسفل ثم اضغط Enter.

K ↑ / J ↓
المنشور السابق / التالي
Enter C
فتح ملخص المنشور المحدد وتعليقاته
O
فتح الرابط الأصلي للمنشور المحدد
/
البحث
?
عرض هذه المساعدة
Tab
انتقل إلى زر النشر أو التعليق ثم اضغط Enter

اكتب كالمعتاد في حقول النص. يظل Tab وEnter متاحين دائما.