After months of denial, Microsoft cops to IE vulnerability
URI handling lockdown coming soon
Microsoft has finally accepted responsibility for its role in a security weakness that allows malicious websites to run harmful code on an end user's machine. The acknowledgment of the vulnerability in Internet Explorer comes after three months of saying the burden lay with third-party software makers whose programs actually accepted the nasty payloads.
The debate started in July, when security researchers reported a vulnerability that caused IE to launch Firefox and execute malicious commands by feeding a malicious uniform resource identifier (URI) into the Microsoft browser. Mozilla promptly issued an update that prevented Firefox from accepting bad data from IE, but warned that computer users were still at risk of IE tricking other external programs into running harmful code.
Microsoft steadfastly argued it was the responsibility of third-party application makers to vet any code passed to them by IE or any other browser.
Now Microsoft has changed course, admitting for the first time here that URI handling code needs to be tightened down so IE does a better job preventing malformed data from being passed to applications.
URI handling is designed to bring increased convenience to users by, for instance, allowing them to click on a mailto link that automatically launches their default email client and inserts an email address and subject.
Microsoft resisted calls to make changes to IE partly out of worry that they would "break how the third party applications intended those protocol handlers to function." More recently, Microsoft has found more evidence of how the weakness can potentially be used in attacks, prompting it to change that stance.
"Our plan is to revise our URI handling code within ShellExecute() to be more strict," the author wrote. "While our update will help protect all applications from malformed URIs, application vendors who handle URIs can also do stricter validation themselves to prevent malicious URIs from being passed to ShellExecute()."
In a twist, the vulnerability only arises when in IE 7, which was designed from the ground up to be more resilient against attacks, not earlier versions of the browser. For the vulnerability to be exploited, IE 7 must be running on earlier versions of Windows, such as XP or Server 2003. Vista running IE 7 is not susceptible, according to the blog post. ®