
CVE-2023-38545 إثبات المفهوم لأداة سطر الأوامر curl
يعتمد هذا POC على POC السابق الذي أنشأه UTsweetyfish والمشار إليه في هذا المستودع: https://github.com/UTsweetyfish/CVE-2023-38545. على عكس ذلك POC، فإن هذا مخصص لأداة سطر الأوامر وليس لمكتبة libcurl، ولا يتطلب Python ولا يحتاج إلى تجميع
هذا POC مخصص لـ curl SOCKS5 heap buffer overflow، ويوضح كيفية تجاوز سعة المخزن المؤقت للاستقبال في أداة سطر الأوامر curl. بشكل افتراضي، يقوم curl بتهيئة المخزن المؤقت للاستقبال بحجم 100k، مما يجعله غير معرض لـ CVE-2023-38545. ولكن يمكن تقليل حجم هذا المخزن المؤقت عن طريق تعيين حد معدل (--limit-rate).
لتشغيل POC، قم أولاً بإعداد وكيل SOCKS5 محلي باستخدام SSH (يتطلب ذلك تشغيل خادم SSH محليًا):
ssh -fND 10801 localhost
بعد ذلك، قم بتشغيل النص البرمجي poc.sh (يتطلب ذلك تثبيت Netcat (nc)):
./poc.sh
قد يتطلب الأمر عدة محاولات لتفعيل تجاوز سعة المخزن المؤقت. إذا تم تفعيل التجاوز، فسيخرج البرنامج النصي برمز خطأ، وسيظهر رسالة خطأ تشير إلى أن التنفيذ قد تم إحباطه. عندما يفشل التجاوز ولا يتأثر curl، تظهر رسالة تشير إلى أنه لا يمكن حل مضيف باسم "AAAA....".
Links: