
استغلال لثغرة CVE-2018-4233، وهي خلل في تحسين JIT في WebKit استُخدمت خلال 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، ومن ثم تزييف مصفوفة typed array كما هو مشروح في http://www.phrack.org/papers/attacking_javascript_engines.html. بعد ذلك، يحدد موقع صفحة JIT ويكتب فيها شيلكود المرحلة الأولى (stage1). وهذا بدوره يكتب ملف .dylib (المضمّن في stage2.js) إلى القرص ويحمّله في عملية العارض لتنفيذ هروب من وضع الحماية. تستخدم المرحلة الثانية ثغرة منفصلة للخروج من وضع حماية Safari، وسيتم نشرها في وقت لاحق.