libyal / libvmdk

Library and tools to access the VMware Virtual Disk (VMDK) format
GNU Lesser General Public License v3.0
163 stars 66 forks source link

SIGFPE on libvmdk_extent_file.c:1151 (20191221) #22

Closed andreafioraldi closed 4 years ago

andreafioraldi commented 4 years ago

Hi, I attach a crashing input that causes a FPE on libvmdk 20191221. Run with ./vmdkinfo fpe_0x00000055b3c4 ASan give the following stacktrace:

AddressSanitizer:DEADLYSIGNAL
=================================================================
==7007==ERROR: AddressSanitizer: FPE on unknown address 0x00000055b3c4 (pc 0x00000055b3c4 bp 0x7fffffffd8c0 sp 0x7fffffffd850 T0)
    #0 0x55b3c3 in libvmdk_extent_file_read_file_header_data /home/andrea/Videos/libvmdk-20191221/libvmdk/libvmdk_extent_file.c:1151:40
    #1 0x559ef3 in libvmdk_extent_file_read_file_header_file_io_handle /home/andrea/Videos/libvmdk-20191221/libvmdk/libvmdk_extent_file.c:453:6
    #2 0x51c812 in libvmdk_handle_open_file_io_handle /home/andrea/Videos/libvmdk-20191221/libvmdk/libvmdk_handle.c:1168:8
    #3 0x51bcb3 in libvmdk_handle_open /home/andrea/Videos/libvmdk-20191221/libvmdk/libvmdk_handle.c:425:6
    #4 0x513993 in info_handle_open_input /home/andrea/Videos/libvmdk-20191221/vmdktools/info_handle.c:263:6
    #5 0x515863 in main /home/andrea/Videos/libvmdk-20191221/vmdktools/vmdkinfo.c:234:6
    #6 0x7ffff6c07b96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
    #7 0x41a4f9 in _start (/home/andrea/Videos/vmdkfuzz/vmdkinfo.light+0x41a4f9)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE /home/andrea/Videos/libvmdk-20191221/libvmdk/libvmdk_extent_file.c:1151:40 in libvmdk_extent_file_read_file_header_data
==7007==ABORTING

fpe_0x00000055b3c4.zip

joachimmetz commented 4 years ago

Thx for the report, addressed in https://github.com/libyal/libvmdk/commit/9753f7a060c6d9d4eccc5d772eaf27869c4a4048