XBOW zufolge ließ sich das Verhalten auf Workern über verschiedene Hosts und Netzbereiche hinweg reproduzieren. Das deutete darauf hin, dass die Schwachstelle nicht auf ein einzelnes fehlerhaftes System beschränkt war, sondern in Bings Bildverarbeitungs-Schicht lag. The Hacker News überprüfte beide CVE-Einträge am 24. Juli; dort war weiterhin Microsofts Stand aus dem März vermerkt, wonach keine öffentliche Offenlegung vorlag und keine Ausnutzung bekannt war.
Ausgangspunkt war Bings Rückwärtssuche für Bilder. Die Funktion lädt Bild-URLs serverseitig nach, was für sich genommen laut XBOW einer blinden serverseitigen Anfragefälschung entspricht: An den Client wird nichts zurückgegeben. Auffällig war jedoch, dass einige Worker dem Browser zwar einen Fehler 500 lieferten, die abgerufenen Inhalte aber trotzdem holten und verarbeiteten. Das sprach für eine nachgelagerte Komponente, die die Daten weiter analysierte.
Die entscheidende Rolle spielte SVG. Anders als klassische Pixelgrafiken ist SVG XML-basiert und kann auf andere Bilder verweisen. Folgt ein Renderer solchen Referenzen, lädt er diese nach. Konvertierungswerkzeuge reichen Formate, die sie nicht selbst verarbeiten, teils an sogenannte Delegates weiter, also externe Programme, die über eine Shell gestartet werden. Auf dem von XBOW erreichten Verarbeitungspfad war diese Ebene noch aktiv.
Dadurch wurde eine Bildreferenz, die mit dem Pipe-Zeichen begann, nicht als Dateiname behandelt, sondern an die Shell übergeben. XBOW nutzte dafür ein Ein-Pixel-SVG, dessen Referenz einen Befehl auf dem Worker ausführte und die Ausgabe per curl an einen von XBOW kontrollierten Sammler zurückschickte. Nach Angaben des Unternehmens führten beide Wege in dieselbe Konvertierungs-Schicht und resultierten in zwei CVEs.
Der Nachweis musste dabei außerhalb der normalen Antwort des Frontends erfolgen, weil der Webdienst trotz Fehleranzeige im Hintergrund weiterarbeitete. Auf Linux-Workern lieferten die Tests uid=0 und gid=0. Auf Windows zeigte systeminfo Windows Server 2022 Datacenter; whoami /all wies die aktivierten Rechte SeImpersonatePrivilege und SeDebugPrivilege aus. Verzeichnisauflistungen verorteten die Ausführung laut XBOW innerhalb von Bings Multimedia-Komponenten zur Bildverarbeitung. XBOW betont, nur harmlose Lesezugriffe ausgeführt und keine Kundendaten berührt zu haben.
Um den genauen Pfad einzugrenzen, setzte das Unternehmen nach eigenen Angaben Dutzende Testanfragen ab. Dabei verhielten sich ImageMagick-Pseudoprotokolle je nach Coder unterschiedlich: label: renderte Text, xc: erzeugte ein Farbbild, während text:, caption: und direkte Dateizugriffe scheiterten. Shell-Metazeichen innerhalb von label: wurden nur als Text gerendert und nicht ausgeführt. Damit blieb als tatsächlich verwundbarer Pfad die Bildreferenz innerhalb des SVG selbst.
XBOW verweist darauf, dass ImageMagick in seiner eigenen Dokumentation die Standardrichtlinie ausdrücklich als offen beschreibt und für abgeschottete oder per Firewall geschützte Umgebungen vorgesehen sieht, nicht für eine öffentliche Website. Für Umgebungen, die nicht vertrauenswürdige Bilder verarbeiten, empfiehlt die Dokumentation, Delegates in der policy.xml vollständig zu verbieten. Änderungen sollten anschließend getestet werden; mit „magick identify -list policy“ lässt sich laut ImageMagick anzeigen, welche Richtlinie tatsächlich geladen ist.
XBOW zieht zudem eine Parallele zu ImageTragick, der 2016 bekannt gewordenen Delegate-Befehlsinjektion CVE-2016-3714. Die gleiche Fehlerklasse tauche immer wieder auf, weil Bildkonverter nicht als Teil der Angriffsfläche betrachtet würden. XBOW-CISO Nico Waisman, der die Offenlegung verfasst hat, formuliert es so: „Anwendungen behandeln Bild-Hilfsprogramme wie Rohrleitungen. Angreifer behandeln sie wie Parser.“
