bug-wget
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Wget2 fuzzer crash on ODROID XU4


From: Jeffrey Walton
Subject: Re: Wget2 fuzzer crash on ODROID XU4
Date: Mon, 22 Jun 2020 14:52:07 -0400

On Mon, Jun 22, 2020 at 2:10 PM Jeffrey Walton <noloader@gmail.com> wrote:
>
> Hi Everyone/Tim,
>
> Here's another crash on the fuzzer. This came from an ODROID XU4.
>
> Here's the text from the log file in case I screw up the attachment again.
>
> FAIL: wget_options_fuzzer
> =========================
>
> testing 7 bytes from
> '/home/jwalton/wget2/fuzz/wget_options_fuzzer.in/c692273deb2772da307ffe37041fef77bf4baa97'
> GNU Wget2 1.99.2 - multithreaded metalink/file/website downloader
>
> +digest -https -ssl +ipv6 +iri +large-file +nls -ntlm -opie +psl -hsts
> +iconv +idn2 +zlib +lzma -brotlidec -zstd +bzip2 -lzip -http2 -gpgme

I think I managed to get a backtrace out of it, but I am not sure how
good it is.

$ ../libtool --mode=execute gdb wget_options_fuzzer
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from
/home/jwalton/Build-Scripts/wget2/fuzz/.libs/wget_options_fuzzer...done.
(gdb) r
Starting program:
/home/jwalton/Build-Scripts/wget2/fuzz/.libs/wget_options_fuzzer
Cannot parse expression `.L1207 4@r4'.
warning: Probes-based dynamic linker interface failed.
Reverting to original interface.

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
_armv7_tick () at crypto/armv4cpuid.S:136
136     crypto/armv4cpuid.S: No such file or directory.
(gdb) c
Continuing.
testing 7 bytes from
'/home/jwalton/Build-Scripts/wget2/fuzz/wget_options_fuzzer.in/c692273deb2772da307ffe37041fef77bf4baa97'
GNU Wget2 1.99.2 - multithreaded metalink/file/website downloader

+digest -https -ssl +ipv6 +iri +large-file +nls -ntlm -opie +psl -hsts
+iconv +idn2 +zlib +lzma -brotlidec -zstd +bzip2 -lzip -http2 -gpgme

Copyright (C) 2012-2015 Tim Ruehsen
Copyright (C) 2015-2020 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later
<http://www.gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Please send bug reports and questions to <bug-wget@gnu.org>.
free(): invalid pointer

Program received signal SIGABRT, Aborted.
__libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
47      ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file
or directory.
(gdb) bt full
#0  __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
No locals.
#1  0xb6e4cb32 in __libc_signal_restore_set (set=0xbeffef84)
    at ../sysdeps/unix/sysv/linux/nptl-signals.h:80
        _a2tmp = -1090523260
        _a2 = -1090523260
        _nametmp = 175
        _a3tmp = 0
        _a3 = 0
        _a1 = 0
        _a4tmp = 8
        _a1tmp = 2
        _a4 = 8
        _name = 175
#2  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:48
        set = {__val = {0, 0, 0, 4241216, 3204444252, 3070228848, 3204444132,
            3204444140, 3070088761, 3204444140, 3070229196, 5, 0, 0,
            3070228848, 0, 3070228848, 3070229312, 3070229312, 3070204448,
            3204444188, 0, 3070088761, 3204444196, 4294967295, 5, 3068334024,
            3070205888, 0, 32, 3068447921, 3070204888}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
---Type <return> to continue, or q <return> to quit---
#3  0xb6e4d82e in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x1c4,
            sa_sigaction = 0x1c4}, sa_mask = {__val = {3069747704, 3070202984,
              3204444540, 3204444536, 3069747704, 3070202984, 0, 2275345624,
              3069747704, 3070202984, 3069734728, 71104550, 3069757083,
              3069741960, 3204444644, 3070224752, 3070226432, 2863311531,
              3204444536, 3204444540, 3070198028, 0, 0, 3069751837,
              2275345624, 0, 0, 3069757083, 3204444740, 3070202984,
              3204444644, 3204444652}}, sa_flags = -1090522616,
          sa_restorer = 0xb6ebe057 <__GI___mmap+22>}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#4  0xb6e75460 in __libc_message (action=action@entry=do_abort,
    fmt=<optimized out>) at ../sysdeps/posix/libc_fatal.c:181
        ap = {__ap = 0xbefff244}
        fd = 2
        list = <optimized out>
        nlist = <optimized out>
        cp = <optimized out>
        written = <optimized out>
#5  0xb6e797ee in malloc_printerr (str=<optimized out>) at malloc.c:5350
No locals.
#6  0xb6e7ab50 in _int_free (av=<optimized out>, p=0x40f904, have_lock=0)
---Type <return> to continue, or q <return> to quit---
    at malloc.c:4157
        size = 0
        fb = <optimized out>
        nextchunk = <optimized out>
        nextsize = <optimized out>
        nextinuse = <optimized out>
        prevsize = <optimized out>
        bck = <optimized out>
        fwd = <optimized out>
        __PRETTY_FUNCTION__ = "_int_free"
#7  0x00408c0a in deinit () at options.c:3766
No locals.
#8  0x00404e02 in LLVMFuzzerTestOneInput (data=<optimized out>,
    size=<optimized out>) at wget_options_fuzzer.c:115
        argv = {0x40c214 "x", 0x40b774 "-q", 0x40b778 "--no-config",
          0x40b784 "--no-local-db", 0x40b794 "--config",
          0x40b750 "d41d8cd98f00b204e9800998ecf8428e"}
#9  0x00404ec6 in test_all_from (
    dirname=0xbefff370
"/home/jwalton/Build-Scripts/wget2/fuzz/wget_options_fuzzer.in") at
main.c:57
        fname = 0xbefff2c0
"/home/jwalton/Build-Scripts/wget2/fuzz/wget_options_fuzzer.in/c692273deb2772da307ffe37041fef77bf4baa97"
        data = 0x42c2e8 "version"
---Type <return> to continue, or q <return> to quit---
        size = 7
        dp = <optimized out>
        dirp = 0x4242c0
#10 0x00404ade in main (argc=<optimized out>, argv=<optimized out>)
    at main.c:117
        rc = <optimized out>
        corporadir =
"/home/jwalton/Build-Scripts/wget2/fuzz/wget_options_fuzzer.in\000\377\276\000\000"
        valgrind = <optimized out>
        target = 0xbefff68d "wget_options_fuzzer"
        target_len = 19
(gdb)

Jeff



reply via email to

[Prev in Thread] Current Thread [Next in Thread]