
هذا السكربت هو إثبات مفهوم (PoC) للثغرة CVE-2022-30114 ويتسبب في إعادة تشغيل أجهزة التوجيه المنزلية Fastweb FastGate، لكل من إصدارَي GPON وVDSL2.
CVE-2022-30114 هي ثغرة heap-based تجاوز سعة المخزن المؤقت في الملف التنفيذي 'cmproxy'، وهو برنامج يعالج طلبات HTTP عبر خادم ويب Lighttpd FastCGI يستمع على منفذ TCP رقم 8888. يتسبب طلب HTTP مُصنَّع خصيصًا في تعطل الملف التنفيذي وإعادة تشغيل الجهاز من قبل مهاجم عن بُعد، مما يؤدي إلى رفض الخدمة (Denial of Service).
الأجهزة معرضة لثغرة تجاوز سعة مخزن مؤقت قائمة على الكومة (heap-based)، ناتجة عن عدم التحقق من طول قيمة ترويسة 'Authorization' في خدمة الويب المعروضة على منفذ TCP رقم 8888. الخدمة معروضة على كل من واجهتي WAN وLAN للجهاز1.
يمكن لمهاجم عن بُعد غير مصادَق، عند إرسال سلسلة أطول من 100 بايت في ترويسة HTTP 'Authorization'، أن يتسبب في تجاوز سعة مخزن مؤقت مخصص مسبقًا في قسم الذاكرة '.bss' لملف تنفيذي يُدعى 'cmproxy' يعالج طلبات HTTP المرسلة إلى الخدمة المذكورة أعلاه عبر بروتوكول FastCGI.
يتيح ذلك استبدال محتوى ذاكرة الكومة الخاصة بالعملية، مما يؤدي إلى تلفها وتعطلها عند أول تخصيص للذاكرة. تجدر الإشارة إلى أن إصدار مكتبة C المستخدمة (GNU C Library - glibc v2.24) يحتوي على إجراءات حماية لاكتشاف تلف الكومة، ولكن لا يُستبعد أنه من خلال تعميق التحليل قد يكون من الممكن استبدال هياكل الكومة وتحقيق تنفيذ التعليمات البرمجية.
راجع منشور المدونة للتفاصيل.
تم تعطيل الوصول عبر WAN كإجراء تعويضي بعد أول إفصاح إلى Fastweb. وحتى وقت كتابة هذا التقرير، لا تزال الخدمة معروضة على شبكة LAN الداخلية. ↩