Extra '&' in Microsoft development code gave hackers IE exploit

Company's security development expert confirms reports by outside researchers

1 2 Page 2
Page 2 of 2

The extra "&" had been fingered by a pair of German researchers -- Thomas Dullien, the CEO and head of research at Zynamics GmbH, and Dennis Elser -- on July 9, when the former posted their findings in a blog post. The mistake, said Dullien, was in an ATL function called "ATL::CComVariant::ReadFromStream."

That function led the two researchers to several other Microsoft-made components, including several critical to important Windows applications, such as IE, Windows Media Player and Terminal Services. "The bug is actually much 'deeper' than most people realize," said Dullien at the time, "[and] the kill-bit fix is clearly insufficient, as there are bound to be many other ways of triggering the issue."

The "kill-bit" fix Dullien alluded to was one that Microsoft had issued in the form of a stop-gap tool on July 6 to disable the flawed ActiveX control. On July 14, Microsoft pushed the same kill-bit settings to Windows users as an update on its regular monthly patch day.

On Tuesday, Microsoft acknowledged that the kill-bit solution was insufficient because of the bugs in ATL. In response, it has also updated IE, which now tries to block attackers from exploiting the ATL flaws in ActiveX controls.

Howard did not apologize for the programming error. "I contend that this would be very difficult to spot in a code review, and is not picked up by the C/C++ compiler," he said. He also said that Microsoft's development practice of "fuzzing" code -- subjecting software to a wide range of data input to see if, and where, it breaks -- didn't catch the extra "&" because the automated "fuzzers" Microsoft now uses aren't equipped to detect such situations.

"We are in the process of adding more heuristics to our fuzzing engine so it can include these COM-specific bytes if needed," Howard said.

The MSVidCtl ActiveX control has still not been patched, Mike Reavey, director of the MSRC, admitted in an interview Tuesday. "It hasn't been updated, we're still investigating," Reavey said.

When asked whether other Windows components, including those Dullien and Elser listed, also have the flawed ATL code, Reavey said Microsoft is still examining its own software and had nothing to share publicly. The double layer of protection -- the kill bit update from two weeks ago and yesterday's IE update -- would protect users against all currently-known attacks, he argued.

Microsoft issued Tuesday's emergency updates to Visual Studio and IE in part because three other researchers are slated later today to demonstrate a way for attackers to bypass the company's kill-bit defenses.

Copyright © 2009 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon