cesanta / mjs

Embedded JavaScript engine for C/C++
https://mongoose-os.com
Other
1.84k stars 171 forks source link

SEGV JSON.parse #283

Open Vincebye opened 3 months ago

Vincebye commented 3 months ago

JSON.parse

Environment

Ubuntu 22.04.3 LTS

Affected Version

MJS 2.20.0

Step to reproduce

cd mjs 
git checkout b1b6eac6b1e5b830a5cb14f8f4dc690ef3162551 
export LDFLAGS="-lpthread -latomic" 
./afl-clang -DMJS_MAIN mjs.c -fno-inline -ldl -o mjs-bin -fsanitize=address -g 
./mjs-bin -f poc.js 

Contents of PoCfile

JSON.parse[8888888888]

ASAN Report

v@DESKTOP-DPIU403:~/jse/mjs$ ./mjs-bin poc5.js
AddressSanitizer:DEADLYSIGNAL
=================================================================
==12815==ERROR: AddressSanitizer: SEGV on unknown address 0x55f3cf753648 (pc 0x55f3bdaa8570 bp 0x7ffd72e99cb0 sp 0x7ffd72e99be0 T0)
==12815==The signal is caused by a READ memory access.
    #0 0x55f3bdaa8570 in getprop_builtin_foreign /home/v/jse/mjs/mjs.c:8472:31
    #1 0x55f3bdaa3b5f in getprop_builtin /home/v/jse/mjs/mjs.c:8509:17
    #2 0x55f3bda49b43 in mjs_execute /home/v/jse/mjs/mjs.c:8661:14
    #3 0x55f3bda414d4 in mjs_exec_internal /home/v/jse/mjs/mjs.c:9044:5
    #4 0x55f3bda41cb3 in mjs_exec_file /home/v/jse/mjs/mjs.c:9067:11
    #5 0x55f3bda535e8 in main /home/v/jse/mjs/mjs.c:11423:11
    #6 0x7fa7f6d81d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #7 0x7fa7f6d81e3f in __libc_start_main csu/../csu/libc-start.c:392:3
    #8 0x55f3bd9253d4 in _start (/home/v/jse/mjs/mjs-bin+0x283d4)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /home/v/jse/mjs/mjs.c:8472:31 in getprop_builtin_foreign
==12815==ABORTING