larsbs / id3v2lib

id3v2lib is a library written in C to read and edit id3 tags from mp3 files.
BSD 2-Clause "Simplified" License
128 stars 44 forks source link

Segmentation faults 2017-06-25 #24

Closed rwhitworth closed 1 year ago

rwhitworth commented 7 years ago

Hello, I was using libFuzzer and American Fuzzy Lop (afl-fuzz) to fuzz input to a test program using id3v2lib on Linux. Is fixing the crashes from these input files something you're interested in? The input files and example test.c program can be found here: https://github.com/rwhitworth/id3v2lib-fuzz/tree/master/2017-06-25

The files can be executed as ./test id_filename to cause seg faults.

Let me know if I can provide any more information to help narrow down this issue. I had difficulty compiling the library with debugging enabled so the gdb backtraces may not be as useful as they could be.

id:000001,sig:11,src:000019,op:havoc,rep:2

#0  __memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:363
363     ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) bt
#0  __memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:363
#1  0x000000000040192e in load_tag_with_buffer ()
#2  0x00000000004015af in load_tag ()
#3  0x000000000040122b in main (argc=2, argv=0x7ffe610b9218) at test.c:10

id:000002,sig:11,src:000022,op:int32,pos:6,val:be:+1

#0  __memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:420
420     ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) bt
#0  __memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:420
#1  0x0000000000406621 in parse_frame ()
#2  0x00000000004019cf in load_tag_with_buffer ()
#3  0x00000000004015af in load_tag ()
#4  0x000000000040122b in main (argc=2, argv=0x7ffcdc7b0c58) at test.c:10