
Stapelüberlauf in LibXMP
Stack-Überlauf in LibXMP
Eine Schwachstelle in Form eines stack-basierten Pufferüberlaufs existiert in der Funktion depack_pha() von libxmp, einer Bibliothek zur Wiedergabe von Modulmusik. Die Schwachstelle wird beim Parsen fehlerhafter Pha Packer (PHA)-Moduldateien ausgelöst.
Eine unzureichende Grenzüberprüfung eines lokalen Stack-Puffers ermöglicht es einem Angreifer, Daten außerhalb der Grenzen des Arrays zu schreiben, was potenziell zu einem Denial-of-Service (DoS) und unter bestimmten Bedingungen zur Remote-Code-Ausführung (RCE) führen kann.
Build:
gcc -g -O0 -I./libxmp/include poc.c poc_data.h ./libxmp/lib/libxmp.a -lm -lz -o poc_crasher
Stack-Pufferüberlauf
libxmp project GitHub: https://github.com/libxmp/libxmp Issue: https://github.com/libxmp/libxmp/issues/847
src/loaders/prowizard/pha.c Funktion: depack_pha()
Denial of Service (DoS) Potenzielle Remote-Code-Ausführung (RCE) unter bestimmten Build- oder Laufzeitbedingungen
Ein Angreifer kann eine schädliche .mod- oder .pha-Datei im Pha-Packer-Format erstellen und sie an eine beliebige Anwendung übergeben, die mit libxmp verknüpft ist. Die fehlerhafte Datei verursacht während der Musteranalyse in depack_pha() einen Stack-Pufferüberlauf.
Dieses Problem wird derzeit über GitHub Issues an die libxmp-Maintainer gemeldet.
Gareth C - https://www.anchorsec.co.uk