
Exploit per CVE-2018-4233, un bug di ottimizzazione JIT di WebKit utilizzato durante Pwn2Own 2018
Exploit per CVE-2018-4233, un bug nel compilatore JIT di WebKit. Testato su Safari 11.0.3 su macOS 10.13.3.
Per maggiori dettagli vedi https://saelo.github.io/presentations/blackhat_us_18_attacking_client_side_jit_compilers.pdf
L'exploit ottiene lettura/scrittura arbitraria della memoria costruendo le primitive addrof e fakeobj e successivamente falsificando un array tipizzato come descritto in http://www.phrack.org/papers/attacking_javascript_engines.html. Successivamente localizza la pagina JIT e scrive lì lo shellcode stage1. Questo a sua volta scrive un .dylib (contenuto in stage2.js) su disco e lo carica nel processo renderer per effettuare una sandbox escape. Lo stage 2 utilizza una vulnerabilità separata per uscire dalla sandbox di Safari e sarà pubblicato in un secondo momento.