
Pwn2Own 2018에서 사용된 WebKit JIT 최적화 버그인 CVE-2018-4233에 대한 익스플로잇
CVE-2018-4233에 대한 익스플로잇으로, WebKit JIT 컴파일러의 버그입니다. macOS 10.13.3의 Safari 11.0.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 에 설명된 대로 typed array를 위조하여 임의 메모리 읽기/쓰기를 획득합니다. 그런 다음 JIT 페이지를 찾아 stage1 셸코드를 해당 위치에 씁니다. 그러면 다시 .dylib(stage2.js에 포함됨)을 디스크에 쓰고 이를 렌더러 프로세스로 로드하여 샌드박스 탈출을 수행합니다. Stage 2는 별도의 취약점을 사용하여 Safari 샌드박스에서 벗어나며 추후에 공개될 예정입니다.