
تجاوز سعة المكدس في LibXMP
تجاوز سعة المكدس في LibXMP
توجد ثغرة أمنية لتجاوز سعة المخزن المؤقت المستند إلى المكدس في دالة depack_pha() في libxmp، وهي مكتبة لتشغيل الملفات الموسيقية النمطية (module music). يتم تفعيل الثغرة عند تحليل ملفات وحدات Pha Packer (PHA) التالفة.
يسمح الفحص غير السليم لحدود مخزن مؤقت محلي في المكدس للمهاجم بكتابة بيانات خارج حدود المصفوفة، مما قد يؤدي إلى رفض الخدمة (DoS)، وفي ظروف معينة، إلى تنفيذ تعليمات برمجية عن بُعد (RCE).
بناء:
gcc -g -O0 -I./libxmp/include poc.c poc_data.h ./libxmp/lib/libxmp.a -lm -lz -o poc_crasher
تجاوز سعة المخزن المؤقت للمكدس
مشروع libxmp GitHub: https://github.com/libxmp/libxmp Issue: https://github.com/libxmp/libxmp/issues/847
src/loaders/prowizard/pha.c الدالة: depack_pha()
رفض الخدمة (DoS) احتمال تنفيذ تعليمات برمجية عن بُعد (RCE) في ظل ظروف بناء أو تشغيل محددة
يمكن للمهاجم إنشاء ملف .mod أو .pha خبيث بتنسيق Pha Packer وتمريره إلى أي تطبيق مرتبط بمكتبة libxmp. يتسبب الملف التالف في تجاوز سعة مخزن مؤقت للمكدس أثناء تحليل الأنماط في دالة depack_pha().
هذه المشكلة قيد الإبلاغ حاليًا إلى القائمين على صيانة libxmp عبر GitHub Issues.
Gareth C - https://www.anchorsec.co.uk