
هروب الحماية الرملية لمتصفح Edge من Tribell - إثباتات المفهوم لثغرات إصدارات Edge القديمة BadgeUpdateManager / TileFlyoutUpdateManager / ToastNotificationManager لاستغلال مشاركة XmlDocument عبر الحدود والهروب من الحماية الرملية LPAC لمتصفح Edge (CVE-2019-0555).
Tribell Edge Sandbox Escape - PoCs لثغرات Edge القديمة BadgeUpdateManager / TileFlyoutUpdateManager / ToastNotificationManager لاستغلال مشاركة XmlDocument عبر الحدود والهروب من LPAC sandbox الخاص بـ Edge (CVE-2019-0555).
تقوم PoCs بتشغيل notepad.exe داخل عملية الترجمة في الوقت المناسب (JIT).
يُعرّض عدد من فئات Windows Runtime ذات الثقة الجزئية فئة XmlDocument عبر حدود العمليات لمتصلين ذوي صلاحيات أقل، وهو ما كان يمكن استغلاله في شكله الأصلي لرفع الامتيازات والهروب من LPAC sandbox لمحتوى Edge.
تستخدم هذه PoC BadgeUpdateManager و TileFlyoutUpdateManager و ToastNotificationManager لإعادة إنتاج التعرض عبر الحدود لـ XmlDocument وتحقيق الهروب من sandbox. تم تصحيح الثغرة من قبل Microsoft ولم تعد تعمل على الأنظمة المحدّثة بالكامل.
أثناء تطوير كود الاستغلال، تمت كتابة وتجميع كود C++ التالي لفحص كيفية استخدام كل فئة، ثم فحص قيم GUID والإزاحات في IDA.
...
ComPtr<ITileFlyoutUpdateManagerStatics> manager;
HStringReference name(RuntimeClass_Windows_UI_Notifications_TileFlyoutUpdateManager);
Check(RoGetActivationFactory(name.Get(), IID_PPV_ARGS(&manager)));
ComPtr<IXmlDocument> doc;
Check(manager->GetTemplateContent(TileFlyoutTemplateType::TileFlyoutTemplateType_TileFlyoutTemplate01, doc.GetAddressOf()));
ComPtr<IXMLDOMDocument2> dom;
Check(doc.As(&dom));
...