Open
Description
The current JIT compiler does not emit boundary checks for the load/store memory opcode. Hence, any program can perform an invalid memory operation.
e.g., the following PoC program can trigger invalid memory write:
mov %r0, 0
stxdw [%r0+96], %r0
Running it under JIT mode, we can get:
==173819==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address 0x0000000000f8 (pc 0x7fd973a5e023 bp 0x7ffd906bec70 sp 0x7ffd906bea60 T173819)
==173819==The signal is caused by a WRITE memory access.
Metadata
Metadata
Assignees
Labels
No labels