
libtheora의 CVE-2024-56431에 대한 개념 증명 익스플로잇으로, AddressSanitizer 및 UndefinedBehaviorSanitizer를 이용한 퍼징을 통해 메모리 손상 취약점을 시연합니다.
# Compile application source code
CFLAGS="-fsanitize=address -fsanitize=undefined -g -O1" CXXFLAGS="-fsanitize=address -fsanitize=undefined -g -O1" LDFLAGS="-fsanitize=address" ./configure
make
# Compile PoC source code
g++ fuzzer.cpp -o poc -I include/ lib/.libs/libtheora.a -fsanitize=address -fsanitize=undefined
# Executing the PoC
UBSAN_OPTIONS=print_stacktrace=1 ./poc