
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 이슈: 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