GNOME Bugzilla – Bug 712731
Out-of-bounds read in ms_container_read_markup on a fuzzed xls file
Last modified: 2013-11-21 23:32:51 UTC
Out-of-bounds read in ms_container_read_markup on a fuzzed xls file. Git versions of glib, goffice, gnumeric, libgsf and libxml2. Test case: http://jutaky.com/fuzzing/gnumeric_case_29042_68551.xls ==4347== ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60380001d607 at pc 0x7fe704b83c58 bp 0x7fff26a9cfd0 sp 0x7fff26a9cfc8 READ of size 1 at 0x60380001d607 thread T0 #0 0x7fe704b83c57 in ms_container_read_markup /gnumeric/plugins/excel/ms-container.c:273 #1 0x7fe704c7a820 in read_pre_biff8_read_text /gnumeric/plugins/excel/ms-obj.c:599 #2 0x7fe704c7ceb4 in ms_obj_read_pre_biff8_obj /gnumeric/plugins/excel/ms-obj.c:742 #3 0x7fe704c82b8a in ms_read_OBJ /gnumeric/plugins/excel/ms-obj.c:1279 (discriminator 2) #4 0x7fe704bf3165 in excel_read_sheet /gnumeric/plugins/excel/ms-excel-read.c:6660 #5 0x7fe704bf77f8 in excel_read_BOF /gnumeric/plugins/excel/ms-excel-read.c:6996 #6 0x7fe704bf8ea6 in excel_read_workbook /gnumeric/plugins/excel/ms-excel-read.c:7086 #7 0x7fe704b6ec2c in excel_enc_file_open /gnumeric/plugins/excel/boot.c:193 #8 0x7fe704b6f8ca in excel_file_open /gnumeric/plugins/excel/boot.c:250 #9 0x7fe72660000e in go_plugin_loader_module_func_file_open /goffice/goffice/app/go-plugin-loader-module.c:282 #10 0x7fe726608f70 in go_plugin_file_opener_open /goffice/goffice/app/go-plugin-service.c:685 (discriminator 1) #11 0x7fe7266158bf in go_file_opener_open /goffice/goffice/app/file.c:417 #12 0x7fe72776b684 in workbook_view_new_from_input /gnumeric/src/workbook-view.c:1281 #13 0x7fe72776be73 in workbook_view_new_from_uri /gnumeric/src/workbook-view.c:1341 #14 0x40a6e0 in main /gnumeric/src/main-application.c:322 #15 0x7fe721ef3bc4 in __libc_start_main ??:? #16 0x403de8 in _start ??:? 0x60380001d607 is located 391 bytes to the right of 0-byte region [0x60380001d480,0x60380001d480) -- Juha Kylmänen Research Assistant, OUSPG
This problem has been fixed in our software repository. The fix will go into the next software release. Thank you for your bug report.