
Exploit für CVE-2018-4233, einen WebKit-JIT-Optimierungsfehler, der während Pwn2Own 2018 verwendet wurde.
Exploit für CVE-2018-4233, einen Fehler im JIT-Compiler von WebKit. Getestet auf Safari 11.0.3 unter macOS 10.13.3.
Für weitere Details siehe https://saelo.github.io/presentations/blackhat_us_18_attacking_client_side_jit_compilers.pdf
Der Exploit erhält beliebigen Speicher-Lese-/Schreibzugriff, indem er die addrof- und fakeobj-Primitiven konstruiert und anschließend ein typisiertes Array fälscht, wie beschrieben in http://www.phrack.org/papers/attacking_javascript_engines.html. Anschließend lokalisiert er die JIT-Seite und schreibt den Stage1-Shellcode dorthin. Dieser wiederum schreibt eine .dylib (enthalten in stage2.js) auf die Festplatte und lädt sie in den Renderer-Prozess, um eine Sandbox-Escape durchzuführen. Stage 2 verwendet eine separate Schwachstelle, um aus der Safari-Sandbox auszubrechen, und wird zu einem späteren Zeitpunkt veröffentlicht.