{"action":"opened","issue":{"url":"https://api.github.com/repos/tats/w3m/issues/70","repository_url":"https://api.github.com/repos/tats/w3m","labels_url":"https://api.github.com/repos/tats/w3m/issues/70/labels{/name}","comments_url":"https://api.github.com/repos/tats/w3m/issues/70/comments","events_url":"https://api.github.com/repos/tats/w3m/issues/70/events","html_url":"https://github.com/tats/w3m/issues/70","id":193178277,"number":70,"title":"heap-buffer-overflow in set_integered_width()","user":{"login":"kcwu","id":175566,"avatar_url":"https://avatars.githubusercontent.com/u/175566?v=3","gravatar_id":"","url":"https://api.github.com/users/kcwu","html_url":"https://github.com/kcwu","followers_url":"https://api.github.com/users/kcwu/followers","following_url":"https://api.github.com/users/kcwu/following{/other_user}","gists_url":"https://api.github.com/users/kcwu/gists{/gist_id}","starred_url":"https://api.github.com/users/kcwu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kcwu/subscriptions","organizations_url":"https://api.github.com/users/kcwu/orgs","repos_url":"https://api.github.com/users/kcwu/repos","events_url":"https://api.github.com/users/kcwu/events{/privacy}","received_events_url":"https://api.github.com/users/kcwu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-12-02T17:55:16Z","updated_at":"2016-12-02T17:55:16Z","closed_at":null,"body":"input (`xxd cases/tats-w3m-70`)\r\n```\r\n00000000: 3c74 6162 6c65 3e7f 303c 7468 2063 6f6c  <table>.0<th col\r\n00000010: 7370 616e 3d39 3e3c 7468 2063 6f6c 7370  span=9><th colsp\r\n00000020: 616e 3d39 3e3c 7468 2063 6f6c 7370 616e  an=9><th colspan\r\n00000030: 3d39 3e3c 7468 2063 6f6c 7370 616e 3d39  =9><th colspan=9\r\n00000040: 3e3c 7468 2063 6f6c 7370 616e 3d39 3e3c  ><th colspan=9><\r\n00000050: 7468 2063 6f6c 7370 616e 3d39 3e3c 7468  th colspan=9><th\r\n00000060: 2063 6f6c 7370 616e 3d39 3e3c 7468 3e3c   colspan=9><th><\r\n00000070: 7468 2063 6f6c 7370 616e 3d39 3e3c 7468  th colspan=9><th\r\n00000080: 2063 6f6c 7370 616e 3d39 3e3c 7468 3e30   colspan=9><th>0\r\n00000090: 303c 7468 2063 6f6c 7370 616e 3d39 3e3c  0<th colspan=9><\r\n000000a0: 7468 2063 6f6c 7370 616e 3d39 3e3c 7468  th colspan=9><th\r\n000000b0: 2063 6f6c 7370 616e 3d39 3e3c 7468 2063   colspan=9><th c\r\n000000c0: 6f6c 7370 616e 3d39 3e3c 7468 2063 6f6c  olspan=9><th col\r\n000000d0: 7370 616e 3d39 3e3c 7468 2063 6f6c 7370  span=9><th colsp\r\n000000e0: 616e 3d39 3e                             an=9>\r\n```\r\n\r\nhow to reproduce:\r\n```\r\nASAN_OPTIONS=abort_on_error=1:detect_leaks=0 LD_LIBRARY_PATH=./notgc ./w3m-tats.asan -T text/html -dump cases/tats-w3m-70\r\n```\r\n\r\nstderr:\r\n```\r\n=================================================================\r\n==2732560==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x619000000680 at pc 0x00000060f11c bp 0x7fff7b81be10 sp 0x7fff7b81be08\r\nREAD of size 8 at 0x619000000680 thread T0\r\n    #0 0x60f11b in set_integered_width /targets/w3m-tats/table.c:1017:24\r\n    #1 0x607904 in renderTable /targets/w3m-tats/table.c:1789:2\r\n    #2 0x59240b in HTMLlineproc0 /targets/w3m-tats/file.c:6452:3\r\n    #3 0x5a7d14 in completeHTMLstream /targets/w3m-tats/file.c:7022:2\r\n    #4 0x5a5b21 in loadHTMLstream /targets/w3m-tats/file.c:7258:5\r\n    #5 0x55bbf8 in loadHTMLBuffer /targets/w3m-tats/file.c:6781:5\r\n    #6 0x55ee64 in loadSomething /targets/w3m-tats/file.c:224:16\r\n    #7 0x5535ac in loadGeneralFile /targets/w3m-tats/file.c:2241:6\r\n    #8 0x4f9202 in main /targets/w3m-tats/main.c:1017:12\r\n    #9 0x7f64aa02cf44 in __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287\r\n    #10 0x41bf25 in _start (/w3m-tats.asan+0x41bf25)\r\n\r\nAddressSanitizer can not describe address in more detail (wild memory access suspected).\r\nSUMMARY: AddressSanitizer: heap-buffer-overflow /targets/w3m-tats/table.c:1017:24 in set_integered_width\r\nShadow bytes around the buggy address:\r\n  0x0c327fff8080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n  0x0c327fff8090: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n  0x0c327fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n  0x0c327fff80b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n  0x0c327fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n=>0x0c327fff80d0:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n  0x0c327fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n  0x0c327fff80f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n  0x0c327fff8100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n  0x0c327fff8110: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\n  0x0c327fff8120: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\r\nShadow byte legend (one shadow byte represents 8 application bytes):\r\n  Addressable:           00\r\n  Partially addressable: 01 02 03 04 05 06 07\r\n  Heap left redzone:       fa\r\n  Heap right redzone:      fb\r\n  Freed heap region:       fd\r\n  Stack left redzone:      f1\r\n  Stack mid redzone:       f2\r\n  Stack right redzone:     f3\r\n  Stack partial redzone:   f4\r\n  Stack after return:      f5\r\n  Stack use after scope:   f8\r\n  Global redzone:          f9\r\n  Global init order:       f6\r\n  Poisoned by user:        f7\r\n  Container overflow:      fc\r\n  Array cookie:            ac\r\n  Intra object redzone:    bb\r\n  ASan internal:           fe\r\n  Left alloca redzone:     ca\r\n  Right alloca redzone:    cb\r\n==2732560==ABORTING\r\n```\r\n\r\nThis is detected with help of dummy libgc wrapper. See http://github.com/kcwu/fuzzing-w3m/notgc for detail.\r\nMore detail to reproduce please see http://github.com/kcwu/fuzzing-w3m\r\n\r\nFor your convenience,\r\ngdbline:\r\nLD_LIBRARY_PATH=./notgc ASAN_OPTIONS=abort_on_error=1:detect_leaks=0 gdb --args ./w3m-tats.asan -T text/html -dump cases/tats-w3m-70\r\n"}}
{"actor":{"display_login":"kcwu"}}