
إمبيرفا تستعرض ثغرة Node2Shell للتنفيذ عن بعد على Node.js عبر بيانات Brotli مصممة
أظهر باحثو إمبيرفا تنفيذاً عن بعد للكود على بناء Node.js 24.22.0 الرسمي لنظام Linux arm64 باستخدام بيانات Brotli مصممة، مستغلين ثغرة CVE-2026-111497. أصدر Node.js إصلاحاً في 21 أكتوبر.
عرض الاستغلال
قدم باحثو إمبيرفا دليلاً على المفهوم يسمى Node2Shell يحقق تنفيذاً عن بعد للكود على صورة Node.js 24.22.0 الرسمية لنظام Linux arm64. يقوم الهجوم بتغذية بيانات Brotli مضغوطة ومصممة خصيصاً إلى مفكك ترميز Brotli المضمّن، مما يؤدي إلى تفعيل ثغرة CVE-2026-111497. تطلب الاستغلال عدة محاولات في بيئة الاختبار ونجح فقط على ذلك البناء المحدد؛ بينما يرفض الإصدار المصحح 24.22.1 البيانات الخبيثة ويمنع تنفيذ الكود.
التطبيقات المتأثرة
توجد الثغرة في مفكك ترميز Brotli الذي يتضمنه Node.js، لذلك فإن جميع التطبيقات التي تعمل على خطوط إصدارات 22.x و 24.x و 26.x معرضة محتملاً. يمكن للخدمة الوصول إلى مفكك الترميز عندما تقرأ استجابة مضغوطة بـ Brotli عبر دالة fetch المضمنة أو عندما يفك middleware ترميز نص طلب مضغوط بـ Brotli. تقوم أدوات تحليل نص الطلب في Express 5 مثل express.json و express.urlencoded و express.text و express.raw الآن بفك ترميز نصوص طلبات Brotli، وكذلك تفعل إصدارات body-parser من 2.0.0 إلى 2.3.0. لا يقوم خادم Node.js HTTP العادي بفك ترميز نصوص طلبات Brotli تلقائياً.
التفاصيل التقنية
عزت إمبيرفا العيب إلى معالجة مفكك الترميز لانتقال كتلة مستحيل في دفق Brotli. يعلن الدفق الخبيث عن أنواع كتل تستبعدها قواعد هيكل الدفق، مما يؤدي إلى طلب مفكك الترميز مزيداً من المدخلات واستمراره في حالة غير صالحة. أظهر اختبار معقم الذاكرة أن الاستمرار من تلك الحالة يكتب خارج مخزن مؤقت مقصود، مما ينتج عنه كتابة خارج النطاق التي تقوم عليها الثغرة. عالج Node.js المشكلة باستيراد تصحيح Brotli من المصدر الأصلي يجعل مفكك الترميز يتوقف بخطأ تنسيق عند النقطة الإشكالية.
التخفيف
التصحيح الموثوق الوحيد هو التحديث إلى إصدار Node.js مصحح. لا تتلقى خطوط نهاية العمر مثل 20.x الإصلاح ويجب ترحيلها إلى خط مدعوم. لا يسرد التنبيه أي حل بديل أثناء التشغيل، لذا فإن التطبيقات التي لا تستطيع التحديث فوراً ليس لديها بديل في Node.js نفسه. توصي إمبيرفا بالحد من حركة مرور Brotli غير الموثوقة على المسارات المتأثرة حيثما كان ذلك عملياً. أضافت Vercel قواعد جدار حماية تطبيقات الويب في 21 أكتوبر تحظر الهجوم في الطلبات الواردة، على الرغم من أن تلك القواعد لا تغطي استجابات Brotli المجلبة من خوادم خارجية ولا تحل محل التحديث.
المصادر: The Hacker News
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.