
Tribell Edge Sandbox Escape - PoCs des vulnérabilités historiques d'Edge BadgeUpdateManager / TileFlyoutUpdateManager / ToastNotificationManager pour exploiter le partage transfrontière de XmlDocument et échapper au sandbox LPAC d'Edge (CVE-2019-0555).
Évasion du bac à sable Tribell Edge - Preuves de concept (PoCs) des vulnérabilités héritées d'Edge BadgeUpdateManager / TileFlyoutUpdateManager / ToastNotificationManager pour exploiter le partage transfrontalier de XmlDocument et échapper au bac à sable LPAC d'Edge (CVE-2019-0555).
Les PoCs déclenchent l'exécution de notepad.exe dans le processus de compilation Just-In-Time (JIT).
Un certain nombre de classes Windows Runtime à confiance partielle exposent la classe XmlDocument à travers les limites de processus à des appelants moins privilégiés, ce qui, dans sa forme originale, pouvait être exploité pour élever les privilèges et échapper au bac à sable LPAC du contenu Edge.
Ce PoC utilise BadgeUpdateManager, , et pour reproduire l'exposition transfrontalière de et réaliser l'évasion du bac à sable. La vulnérabilité a été corrigée par Microsoft et ne fonctionne plus sur les systèmes entièrement mis à jour.
XmlDocumentLors du développement du code d'exploitation, j'ai écrit et compilé le code C++ suivant pour étudier comment chaque classe est utilisée, puis examiné les valeurs GUID et les décalages dans 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));
...