تم استغلال ضعف الجذر عن بُعد في أداة ping الخاصة بـ FreeBSD

يحتوي FreeBSD على ثغرة أمنية (CVE-2022-23093) في أداة ping المضمنة في التوزيع الأساسي. من المحتمل أن تؤدي المشكلة إلى تنفيذ التعليمات البرمجية عن بُعد كجذر عند اختبار اتصال مضيف خارجي يتحكم فيه المهاجم. تم اقتراح إصلاح في تحديثات FreeBSD 13.1-RELEASE-p5 و 12.4-RC2-p2 و 12.3-RELEASE-p10. ليس من الواضح بعد ما إذا كانت أنظمة BSD الأخرى متأثرة بالثغرة الأمنية المحددة (لم يتم الإبلاغ عن netBSD و DragonFlyBSD و OpenBSD).

سبب الثغرة الأمنية هو تجاوز سعة المخزن المؤقت في كود التحليل لرسائل ICMP المتلقاة استجابة لطلب فحص. يستخدم رمز إرسال رسائل ICMP واستلامها في ping مآخذ أولية ويتم تنفيذه بامتيازات عالية (تأتي الأداة مع علامة الجذر setuid). تتم معالجة الاستجابة على جانب ping من خلال إعادة بناء رؤوس IP و ICMP للحزم المتلقاة من المقبس الخام. يتم نسخ رؤوس IP و ICMP المستخرجة بواسطة الوظيفة pr_pack () في مخازن مؤقتة ، بغض النظر عن حقيقة أن الرؤوس الموسعة الإضافية قد تكون موجودة في الحزمة بعد رأس IP.

يتم استخراج هذه الرؤوس من الحزمة وتضمينها في كتلة الرأس ، ولكن لا يتم أخذها في الاعتبار عند حساب حجم المخزن المؤقت. إذا قام المضيف ، استجابة لطلب ICMP المرسل ، بإرجاع حزمة برؤوس إضافية ، فستتم كتابة محتوياتها إلى المنطقة خارج حدود المخزن المؤقت على المكدس. نتيجة لذلك ، يمكن للمهاجم الكتابة فوق ما يصل إلى 40 بايت من البيانات على المكدس ، مما قد يسمح بتنفيذ التعليمات البرمجية الخاصة به. يتم التخفيف من خطورة المشكلة من خلال حقيقة أنه في وقت ظهور الخطأ ، تكون العملية في حالة عزل لمكالمات النظام (وضع القدرة) ، مما يجعل من الصعب الوصول إلى بقية النظام بعد استغلال الثغرة الأمنية.

المصدر: opennet.ru

إضافة تعليق