After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 712731 - Out-of-bounds read in ms_container_read_markup on a fuzzed xls file
Out-of-bounds read in ms_container_read_markup on a fuzzed xls file
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: import/export MS Excel (tm)
git master
Other Linux
: Normal critical
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2013-11-20 08:41 UTC by jutaky
Modified: 2013-11-21 23:32 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description jutaky 2013-11-20 08:41:58 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
Comment 1 Morten Welinder 2013-11-21 23:32:51 UTC
This problem has been fixed in our software repository. The fix will go into the next software release. Thank you for your bug report.