Open
Description
A heap-buffer-overflow has occurred when running sfconvert
=================================================================
==31737==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x7fa66d3a5800 at pc 0x7fa66bff796c bp 0x7ffcdde77720 sp 0x7ffcdde77710
WRITE of size 4 at 0x7fa66d3a5800 thread T0
#0 0x7fa66bff796b in void Expand3To4Module::run<int>(unsigned char const*, int*, int) /home/sandy/swt_fuzz/audiofile/libaudiofile/modules/SimpleModule.h:269
#1 0x7fa66bff2692 in Expand3To4Module::run(Chunk&, Chunk&) /home/sandy/swt_fuzz/audiofile/libaudiofile/modules/SimpleModule.h:244
#2 0x7fa66c01610e in SimpleModule::runPull() /home/sandy/swt_fuzz/audiofile/libaudiofile/modules/SimpleModule.cpp:29
#3 0x7fa66bfb8550 in afReadFrames /home/sandy/swt_fuzz/audiofile/libaudiofile/data.cpp:222
#4 0x403c7e in copyaudiodata /home/sandy/swt_fuzz/audiofile/sfcommands/sfconvert.c:340
#5 0x403793 in main /home/sandy/swt_fuzz/audiofile/sfcommands/sfconvert.c:248
#6 0x7fa66bb7882f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
#7 0x4017a8 in _start (/home/sandy/swt_fuzz/audiofile/sfcommands/.libs/sfconvert+0x4017a8)
0x7fa66d3a5800 is located 0 bytes to the right of 524288-byte region [0x7fa66d325800,0x7fa66d3a5800)
allocated by thread T0 here:
#0 0x7fa66c307602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
#1 0x403c1b in copyaudiodata /home/sandy/swt_fuzz/audiofile/sfcommands/sfconvert.c:327
#2 0x403793 in main /home/sandy/swt_fuzz/audiofile/sfcommands/sfconvert.c:248
#3 0x7fa66bb7882f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
SUMMARY: AddressSanitizer: heap-buffer-overflow /home/sandy/swt_fuzz/audiofile/libaudiofile/modules/SimpleModule.h:269 void Expand3To4Module::run<int>(unsigned char const*, int*, int)
Shadow bytes around the buggy address:
0x0ff54da6cab0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff54da6cac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff54da6cad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff54da6cae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0ff54da6caf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0ff54da6cb00:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0ff54da6cb10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0ff54da6cb20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0ff54da6cb30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0ff54da6cb40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0ff54da6cb50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
==31737==ABORTING
And the input file has been put at:
https://github.com/fCorleone/fuzz_programs/blob/master/audiofile/test2
Metadata
Metadata
Assignees
Labels
No labels