Een vervaardigde SVG die werd ingediend bij de zoekfunctie voor afbeeldingen van Bing, voerde opdrachten uit als NT AUTHORITYSYSTEM op de productiebeeldverwerkingswerkers van Microsoft, en als root op de Linux-machines in dezelfde vloot.
De tests van XBOW leverden hetzelfde resultaat op bij werknemers op verschillende hosts en netwerkbereiken, dus het probleem zat in de imagelaag van Bing, en niet op één slechte machine. Microsoft heeft twee cruciale CVE’s uitgegeven, CVE-2026-32194 en CVE-2026-32191, en beide beoordeeld met een 9,8 op de CVSS-schaal.
XBOW, de autonome, aanvallende beveiligingsstartup, heeft beide gevonden en privé gerapporteerd. Bing-gebruikers hoeven geen patch of beperking toe te passen: Microsoft heeft beide server-side gerepareerd voordat de adviezen in maart uitgingen, en in de gegevens staat dat er “geen klantactie is om op te lossen”.
Geen van beide adviseurs registreerde uitbuiting of openbaarmaking toen ze op 19 maart uitkwamen. XBOW publiceerde de exploit-mechanismen op 23 juli, nadat ze deze op verzoek van Microsoft hadden tegengehouden totdat de oplossing was bereikt.
Wat de oplossing overleeft, is de vorm van de bug. De applicatie dacht dat het een afbeelding verwerkte; de helper eronder las een deel van die afbeelding als commando.
Als uw eigen stackpipes URL’s uploadt of door de server ophaalt via ImageMagick of iets anders dat ImageMagick-compatibel is, gaat het erom of door aanvallers gecontroleerde inhoud nog steeds een pad kan bereiken dat door de gedelegeerden is ingeschakeld. Weiger de afgevaardigden, knip de formaten die u accepteert af en houd de medewerker van het netwerk af, en dezelfde SVG doet niets.
De reverse image search van Bing haalt een afbeeldings-URL op uit de backend, want dat is wat de functie doet. Op zichzelf is dat een blinde SSRF: er komt niets terug bij de cliënt. De tell was de fout. Sommige werknemers stuurden een 500 terug naar de browser en haalden en parseerden nog steeds wat ze hadden opgehaald, wat erop wees dat iets stroomafwaarts de parsering uitvoerde.
SVG beantwoordde die vraag. Het is XML, geen pixels: het kan verwijzen naar andere afbeeldingen, en een renderer die deze verwijzingen volgt, gaat ze halen. Hieronder staan conversiesuites met de handformaten die ze niet zelf verwerken aan een afgevaardigde, een extern programma dat via een shell wordt aangeroepen.
Op het pad dat XBOW bereikte, was die laag nog steeds ingeschakeld, dus een afbeeldingsreferentie die begon met een pipe-teken ging naar de shell in plaats van te worden gelezen als een bestandsnaam. De payload was een SVG van één pixel waarvan de referentie een opdracht op de werker uitvoerde en de uitvoer terugkrulde naar een door XBOW bestuurde collector.

Dat leverde twee routes op naar hetzelfde conversieniveau en twee CVE’s.
- CVE-2026-32194, gearchiveerd als commando-injectie onder CWE-77, is de openbare “Search by Image”-upload, waarbij de SVG in base64 gaat als de
imageBinveld naar/images/kblob. - CVE-2026-32191, opgeslagen als OS-opdrachtinjectie onder CWE-78, is de crawlerroute: host de SVG overal, geef de URL door aan de zoekopdracht via de
imgurlparameter, enbingbot/2.0haalt het op in dezelfde pijplijn. Geen van beide heeft authenticatie, cookies, sessiestatus of een klik nodig.
The Hacker News controleerde beide CVE-records op 24 juli. Beide hebben nog steeds de Microsoft-status van maart van geen openbare openbaarmaking, die door XBOW’s beschrijving is ingehaald, en Microsoft vermeldt ze nog steeds als niet uitgebuit.
Het bewijs moest uit de band komen. De frontend kan een fout retourneren terwijl de werker toch wordt uitgevoerd. Linux-werknemers hebben uid=0 en gid=0 geretourneerd. Op Windows, systeminfo genaamd Windows Server 2022 Datacenter, whoami /all liet zien dat SeImpersonatePrivilege en SeDebugPrivilege waren ingeschakeld, en dat directorylijsten de uitvoering binnen de multimedia-beeldverwerkingscomponenten van Bing plaatsten. Het bedrijf zegt dat het alleen goedaardige alleen-lezen-opdrachten heeft uitgevoerd en geen klantgegevens heeft aangeraakt.
Om het tot dat pad te beperken waren tientallen sondes nodig. ImageMagick pseudo-protocollen kwamen anders terug, afhankelijk van de codeerder: label: weergegeven tekst en xc: produceerde een kleurenbeeld, terwijl text:, caption: en het direct lezen van bestanden is mislukt. Shell-metatekens binnenin label: weergegeven als tekst in plaats van uitgevoerd, waardoor die codeur werd uitgesloten. Het pad dat een afgevaardigde bereikte, was de afbeeldingsreferentie in de SVG zelf.
Schakel de afgevaardigden uit
Een beeldverwerkingsmedewerker die niet-vertrouwde bestanden verwerkt, mag geen shell bereiken, als SYSTEEM draaien of een uitweg naar het internet hebben. De pijplijn van Bing deed alle drie.
De eigen richtlijnen van ImageMagick geven expliciet aan dat het standaardbeleid open is en bedoeld is voor gebruik in een sandbox of firewall, en niet voor een openbare website. Voor alles wat met onbetrouwbare afbeeldingen te maken heeft, moet u de afgevaardigden meteen de toegang ontzeggen policy.xml:
Vervolgens, in volgorde van wat u het meest koopt:
- Knip de formaten die u accepteert. SVG, MVG en EPS behoren tot de referenties en tolken.
- Beoordeling
delegates.xmlen schakel alles uit wat je niet nodig hebt. - Voer de conversie in een sandbox uit en met beperkte rechten.
- Blokkeer het uitgaande netwerk van de werknemer, wat de tak is die van een blinde bug een bewezen bug maakte.
- Zet een lijst op met de bestemmingen die een ophaalactie aan de serverzijde kan bereiken, en zorg ervoor dat de medewerker geen interne adressen heeft.
De richtlijn van ImageMagick is om te testen na elke beleidswijziging magick identify -list policy drukt af wat er daadwerkelijk is geladen.
ImageTragick, de opdrachtinjectie van de afgevaardigden uit 2016, bijgehouden als CVE-2016-3714, is van dezelfde klasse van mislukkingen en komt steeds weer bovendrijven omdat niemand de converter als onderdeel van het aanvalsoppervlak beschouwt. XBOW CISO Nico Waisman, die de onthulling schreef, verwoordde het als volgt: “Toepassingen behandelen beeldhelpers als loodgieters. Aanvallers behandelen ze als parsers.”
De ophaalactie was bereikbaar, leverde niets op en leek een doodlopende weg. Wat er een SYSTEM-shell van maakte, was de parser erachter, en niets in het antwoord zou je dat hebben verteld.