Adobe stepped forward yesterday to acknowledge that it's the first major third-party vendor to have used Microsoft's flawed development code in its products.
According to multiple security advisories posted to its site on Tuesday, the Windows versions of Adobe's Flash Player and Shockwave Player harbor vulnerabilities because Adobe used a buggy Microsoft code "library" during their development.
It's no surprise that Flash Player is vulnerable to attack. Three weeks ago a pair of German researchers reported finding numerous third-party applications that contain the flawed library code, and named Flash as an example.
Adobe patched Shockwave Player yesterday, and will follow that tomorrow with a previously-scheduled update for the far-more-popular Flash Player.
"We evaluated the impact of the vulnerable versions of the Microsoft Active Template Library (ATL) on the Adobe product portfolio [and] determined that Flash Player and Shockwave Player are the two products that leverage vulnerable versions of ATL," said Wendy Poland, of Adobe's security team in a company blog entry.
On Tuesday, Microsoft confirmed that the Active Template Library (ATL), a code library included with Visual Studio, contained multiple vulnerabilities, at least one harking back to early 2008. Although Microsoft patched Visual Studio to eliminate the bugs in ATL, those updates don't automatically fix software developed using the flawed library. Instead, vendors, including Microsoft, must use the patched Visual Studio to recompile their code, then distribute the new, secure software.
That's what Adobe did yesterday for Shockwave. In a security bulletin issued Tuesday, Adobe updated Shockwave Player to Version 220.127.116.111, noting that the patch fixed a critical vulnerability that could be used to hijack a Windows PC.
Flash Player will get the same treatment Thursday, Adobe promised. "Adobe Flash Player 18.104.22.168 and 10.0.22.87, and earlier 9.x and 10.x versions installed on Windows operating systems for use with Internet Explorer leverage a vulnerable version of ATL," read an advisory posted yesterday. "We are in the process of developing a fix for the issue, and expect to provide an update for Flash Player v9 and v10 for Windows by July 30, 2009," Adobe said.
Last week, Adobe promised to patch Flash Player by tomorrow to address another bug that has been exploited in large numbers by criminals. According to Danish bug tracking firm Secunia, more than 92% of all Windows users are vulnerable to the current Flash Player attacks.
Other Adobe software, including the popular Reader PDF viewer -- which will also be updated to close the same hole that has led to large-scale attacks -- does not contain the flawed ATL code, Poland said. The Adobe Reader plug-in for Internet Explorer is ATL-bug-free, she said, and although the flaws are baked into the Flash Player browser plug-in, only IE users are vulnerable. "People using Flash Player within the Firefox browser -- as well as all other Windows-based browsers that aren't Internet Explorer -- are not vulnerable," she noted.
One of the three bugs in ATL is rooted in a simple programming mistake: According to both Microsoft and outside researchers, the ATL function called "ATL::CComVariant::ReadFromStream" contains a single extraneous "&" character.
Until a patch for Flash is available, Adobe urged customers to "consider" installing Microsoft's MS09-034 update, which that company delivered Tuesday via Windows Update. Included in that IE update are new defensive measures that are supposed to detect and block ActiveX controls, like Flash Player and Shockwave Player, that were created using the buggy ATL.
Adobe will post links to the patched Flash Player on its security site.