
LibXMP में स्टैक ओवरफ़्लो
LibXMP में स्टैक ओवरफ्लो
libxmp के depack_pha() फ़ंक्शन में एक स्टैक-आधारित बफर ओवरफ्लो भेद्यता मौजूद है, जो मॉड्यूल संगीत प्लेबैक के लिए एक लाइब्रेरी है। यह भेद्यता दोषपूर्ण 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)
एक हमलावर Pha Packer प्रारूप में एक दुर्भावनापूर्ण .mod या .pha फ़ाइल बना सकता है और उसे libxmp से लिंक किए गए किसी भी एप्लिकेशन को खिला सकता है। दोषपूर्ण फ़ाइल depack_pha() में पैटर्न पार्सिंग के दौरान स्टैक बफर ओवरफ्लो का कारण बनती है।
यह मुद्दा GitHub Issues के माध्यम से libxmp अनुरक्षकों को रिपोर्ट किए जाने की प्रक्रिया में है।
Gareth C - https://www.anchorsec.co.uk