We found a FPE in SoX 14.4.3git(src/voc.c:334:18 in read_samples).
Command Input
sox --single-threaded poc_file -t aiff /dev/null
poc_file is attached.
Sanitizer Dump
AddressSanitizer:DEADLYSIGNAL
=================================================================
==1135794==ERROR: AddressSanitizer: FPE on unknown address 0x0000005eab2e (pc 0x0000005eab2e bp 0x7fffdfe20280 sp 0x7fffdfe1fe80 T0)
#0 0x5eab2e in read_samples /root/target/Invariants/sox/src/voc.c:334:18
#1 0x4ecf57 in sox_read /root/target/Invariants/sox/src/formats.c:1033:30
#2 0x4e50e2 in sox_read_wide /root/target/Invariants/sox/src/sox.c:471:9
#3 0x4e2f16 in combiner_drain /root/target/Invariants/sox/src/sox.c:533:16
#4 0x507df0 in drain_effect /root/target/Invariants/sox/src/effects.c:352:17
#5 0x506b8e in sox_flow_effects /root/target/Invariants/sox/src/effects.c:445:11
#6 0x4d0bf8 in process /root/target/Invariants/sox/src/sox.c:1780:17
#7 0x4cb542 in main /root/target/Invariants/sox/src/sox.c:2988:11
#8 0x7f4094040082 in __libc_start_main /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:308:16
#9 0x41d70d in _start (/root/target/Invariants/sox/src/sox+0x41d70d)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE /root/target/Invariants/sox/src/voc.c:334:18 in read_samples
==1135794==ABORTING
Environment
make CC=clang CXX=clang++ CFLAGS="-fsanitize=address -g3 -O0" CXXFLAGS="-fsanitize=address -g3 -O0"
This is CVE-2023-32627
Fixed by
sox-14.4.2:
sox WARN voc: VOC input: short file
Exits 0 and creates a 3132-sample file
Debian bookworm sox and sox_ng-14.5.0:
Exits 0 and creates a 4-sample file
42b355:
Floating point exception (core dumped)