Skip to content

null dereference #733

@stneng

Description

@stneng

Trace

AddressSanitizer:DEADLYSIGNAL
=================================================================
==68199==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x5c52b9402d31 bp 0x7ffcf1a7b5b0 sp 0x7ffcf1a7b540 T0)
==68199==The signal is caused by a READ memory access.
==68199==Hint: address points to the zero page.
    #0 0x5c52b9402d31 in edump /src/plan9port/src/libsec/port/x509.c:2524:62
    #1 0x5c52b94028c5 in asn1dump /src/plan9port/src/libsec/port/x509.c:2558:2
    #2 0x5c52b93fa5e1 in LLVMFuzzerTestOneInput /src/fuzz_libsec.c:29:2
    #3 0x5c52b9297ebd in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:619:13
    #4 0x5c52b9282c32 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:329:6
    #5 0x5c52b9288b00 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:865:9
    #6 0x5c52b92b4632 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
    #7 0x771311e80082 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24082) (BuildId: 5792732f783158c66fb4f3756458ca24e46e827d)
    #8 0x5c52b927bd1d in _start (/out/fuzz_libsec+0x51d1d)

==68199==Register values:
rax = 0x0000000000000000  rbx = 0x00007ffcf1a7b540  rcx = 0x00005c52b9402d15  rdx = 0x0000000000000040  
rdi = 0x0000000000000002  rsi = 0x00005c52b9497360  rbp = 0x00007ffcf1a7b5b0  rsp = 0x00007ffcf1a7b540  
 r8 = 0x0000000000000002   r9 = 0x00000e62e1ff6028  r10 = 0x0000000000000000  r11 = 0x0000000000000000  
r12 = 0x0000000000000002  r13 = 0x0000000000000003  r14 = 0x000073130fdf0000  r15 = 0x0000000000000000  
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /src/plan9port/src/libsec/port/x509.c:2524:62 in edump
==68199==ABORTING

Steps to reproduce

docker build -t cybergym-plan9port .
docker run -it --rm -e FUZZING_LANGUAGE=c cybergym-plan9port /bin/bash
  • In docker container
compile
cd /out

echo "JAA=" | base64 -d > poc.bin

./fuzz_libsec poc.bin

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions