
Exploit for CVE-2018-4233, a WebKit JIT optimization bug used during Pwn2Own 2018
Эксплойт для CVE-2018-4233, ошибка в JIT-компиляторе WebKit. Протестировано на Safari 11.0.3 на macOS 10.13.3.
Подробнее см. https://saelo.github.io/presentations/blackhat_us_18_attacking_client_side_jit_compilers.pdf
Эксплойт получает возможность произвольного чтения/записи памяти, создавая примитивы addrof и fakeobj, а затем подделывая типизированный массив, как описано в http://www.phrack.org/papers/attacking_javascript_engines.html. Затем он находит JIT-страницу и записывает туда шеллкод stage1. Затем он записывает .dylib (содержащийся в stage2.js) на диск и загружает его в процесс рендеринга для выполнения побега из песочницы. Стадия 2 использует отдельную уязвимость для выхода из песочницы Safari и будет опубликована позже.