
Tribell Edge Sandbox Escape - PoCs de las vulnerabilidades heredadas de Edge BadgeUpdateManager / TileFlyoutUpdateManager / ToastNotificationManager para explotar el intercambio de XmlDocument entre límites y escapar del sandbox LPAC de Edge (CVE-2019-0555).
Tribell Edge Sandbox Escape - PoCs de vulnerabilidades heredadas de Edge: BadgeUpdateManager / TileFlyoutUpdateManager / ToastNotificationManager para explotar el uso compartido de XmlDocument entre límites y escapar del sandbox LPAC de Edge (CVE-2019-0555).
Los PoCs desencadenan la ejecución de notepad.exe dentro del proceso de compilación Just-In-Time (JIT).
Varias clases de Windows Runtime de confianza parcial exponen la clase XmlDocument a través de límites de procesos a llamadores con menos privilegios, lo que en su forma original podía ser abusado para elevar privilegios y escapar del sandbox LPAC del contenido de Edge.
Este PoC utiliza BadgeUpdateManager, TileFlyoutUpdateManager y para reproducir la exposición de entre límites y lograr el escape del sandbox. La vulnerabilidad ha sido corregida por Microsoft y ya no funciona en sistemas completamente actualizados.
XmlDocumentDurante el desarrollo del código de exploit, se escribió y compiló el siguiente código C++ para investigar cómo se usa cada clase, y luego se examinaron los valores GUID y los offsets en 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));
...