Aangezien ik geen details kon vinden over wat hier gepatcht wordt, maar onder "Acknowledgments" [sic] in
https://technet.microsoft.com/library/security/MS14-049 staat:
Over CVE-2012-4784 is nog niets bekend (zie
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2012-4784). Noch Denis Gundarev, noch Entisys zeggen mij iets.
Echter, Stefan Kanthak (hierboven ook fout gespeld) is een bekende op de BugTraq en Full Disclosure maillijsten (Google:
Kanthak site:seclists.org). De laatst tijd focust zijn onderzoek op het laden van excutables en DLL's waarbij geen 100% correct pad is opgegeven (bijv. een pad met spaties erin zonder dubbele aanhalingstekens te gebruiken).
Een van zijn trucs is dat hij een file C:\Program.exe op zijn computer heeft (bijv. een kopie van notepad.exe) dat wordt uitgevoerd in plaats van iets als "C:\Program Files\bedrijf\whatever.exe". Recent voorbeeld:
http://seclists.org/bugtraq/2014/Sep/33.
Zijn werk is discutabel: op genoemde maillijsten krijgt hij de kritiek dat in recente Windows versies gewone gebruikers geen schrijfrechten hebben in C:\ (maar je kunt niet uitsluiten dat sommige bedrijven redenen hebben om dat weer open te zetten). Eindgebruikers horen daarnaast natuurlijk geen schrijfrechten te hebben in mappen genoemd in de PATH environment variabele van het systeem.
Microsoft vecht al veel langer met dit soort problemen. Zie ook
https://isc.sans.edu/diary/Help+eliminate+unquoted+path+vulnerabilities/14464 en mijn comment daaronder.
De kwetsbaarheden die Stefan Kanthak beschrijft lijken zonder uitzondering om privilege escalation issues te gaan waarbij iemand met lokale maar beperkte rechten uitvoerbare bestanden op zodanige plaatsen kan neerzetten (of bestaande vervangen) dat deze kunnen worden uitgevoerd door een higher privileged user of dienst.
De reden voor de foutmelding 'Error 997. Overlapped I/O operation is in progress' weet ik zo niet, maar het zou kunnen dat de installler (wellicht een separate thread daarin) voor de tweede keer een specifieke map probeert te openen en/of een programma of DLL probeert te laden terwijl de eerste operatie nog niet volledig is afgerond (in dit geval waarschijnlijk omdat het door MSI gecorrigeerde pad niet bestaat).