Microsoft heeft een security advisory gepubliceerd over het afhandelen van uri's in Internet Explorer 7. Het bedrijf komt daarmee terug op de ophef over het ongecontroleerd doorgeven van uri's aan externe applicaties.
In juli ontstond er opschudding toen bleek dat uri's vaak ongecontroleerd doorgegeven werden aan andere programma's, waarna die applicaties de ontvangen adressen konden verwerken zonder ze te controleren. Er werd flink gediscussieerd over wie nu precies schuldig was aan het beveiligingslek, waarbij Mozilla uiteindelijk aangaf dat er niet alleen naar Microsofts Internet Explorer gewezen moest worden. De opensourceorganisatie raadde Microsoft aan zijn browser te patchen, en besloot daarnaast om Firefox van een update te voorzien, zodat uri's ook daar bij binnenkomst onder de loep genomen konden worden.
Verschillende veiligheidsexperts benadrukten dat meerdere programma's vatbaar zouden zijn voor de lekken en dat alle ontwikkelaars er goed aan zouden doen uri's zowel bij binnenkomst als bij het doorgeven naar andere applicaties te controleren. Microsoft zag echter geen reden om zijn browser van een update te voorzien. Het bedrijf heeft nu bekendgemaakt dat de nieuwste versie van zijn browser naar aanleiding van de heisa alsnog gepatcht zal worden.
Hoewel de patch alle applicaties veiliger zal maken in hun omgang met uri's, garandeert Microsoft niet dat de patch een eind maakt aan alle mogelijke veiligheidslekken ten gevolge van het ongecontroleerd accepteren van uri's die van Internet Explorer, of andere applicaties, afkomstig zijn. Zo zou het probleem met het niet escapen van uri's die doorgestuurd worden naar Firefox, nog steeds bestaan als Mozilla zijn browser niet gepatcht had.
Aangezien Windows niet kan weten op welke manier een ontvangende applicatie zijn strings escapet, verandert Microsoft namelijk niets aan de waarop uri's worden doorgegeven. Het lek dat het bedrijf nu gaat dichten, behelst alleen een probleem met de verwerking van het %-symbool in uri's. Windows gaat de mist in bij het herstellen van dat symbool, waardoor er kwaadaardige code uitgevoerd kan worden middels een specifiek geformuleerde uri. Het blijft dus zaak dat third-partyontwikkelaars ervoor zorgen dat binnenkomende uri's goed geëscapet worden.
Het MSRC-team verduidelijkte op het teamblog dat de ShellExecute()-code strikter om moet gaan met uri's die naar en vanuit Internet Explorer verstuurd worden. Opvallend is bovendien dat Microsoft benadrukt dat alleen Internet Explorer 7-gebruikers met Windows XP of Windows Server 2003 vatbaar zijn voor de problemen. Wie Vista gebruikt of voorzien is van versie 6 van de browser, heeft kennelijk niets te vrezen.