
Exploit for CVE-2018-4233, a WebKit JIT optimization bug used during Pwn2Own 2018
Exploit para CVE-2018-4233, um bug no compilador JIT do WebKit. Testado no Safari 11.0.3 no macOS 10.13.3.
Para mais detalhes veja https://saelo.github.io/presentations/blackhat_us_18_attacking_client_side_jit_compilers.pdf
O exploit obtém leitura/escrita arbitrária de memória construindo as primitivas addrof e fakeobj e posteriormente fingindo um array tipado conforme descrito em http://www.phrack.org/papers/attacking_javascript_engines.html.
Em seguida, localiza a página JIT e escreve o shellcode stage1 lá. Isso por sua vez escreve uma .dylib (contida em stage2.js) no disco e a carrega no processo renderizador para realizar uma fuga da sandbox.
O stage 2 usa uma vulnerabilidade separada para sair da sandbox do Safari e será publicado em um momento posterior.