Security Bulletin

Microsoft Security Bulletin MS10-043 - Critical

Vulnerability in Canonical Display Driver Could Allow Remote Code Execution (2032276)

Published: July 13, 2010 | Updated: July 14, 2010

Version: 1.1

General Information

Executive Summary

This security update resolves a publicly disclosed vulnerability in the Canonical Display Driver (cdd.dll). Although it is possible that the vulnerability could allow code execution, successful code execution is unlikely due to memory randomization. In most scenarios, it is much more likely that an attacker who successfully exploited this vulnerability could cause the affected system to stop responding and automatically restart.

This security update is rated Critical for x64-based editions of Windows 7 and Important for Windows Server 2008 R2. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerability by correcting the manner in which the Canonical Display Driver parses information copied from user mode to kernel mode. For more information about the vulnerability, see the Frequently Asked Questions (FAQ) subsection for the specific vulnerability entry under the next section, Vulnerability Information.

This security update also addresses the vulnerability first described in Microsoft Security Advisory 2028859.

Recommendation. The majority of customers have automatic updating enabled and will not need to take any action because this security update will be downloaded and installed automatically. Customers who have not enabled automatic updating need to check for updates and install this update manually. For information about specific configuration options in automatic updating, see Microsoft Knowledge Base Article 294871.

For administrators and enterprise installations, or end users who want to install this security update manually, Microsoft recommends that customers apply the update immediately using update management software, or by checking for updates using the Microsoft Update service.

See also the section, Detection and Deployment Tools and Guidance, later in this bulletin.

Known Issues. None

Affected and Non-Affected Software

The following software have been tested to determine which versions or editions are affected. Other versions or editions are either past their support life cycle or are not affected. To determine the support life cycle for your software version or edition, visit Microsoft Support Lifecycle.

Affected Software

Operating System Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by this Update
Windows 7 for x64-based Systems Remote Code Execution Critical None
Windows Server 2008 R2 for x64-based Systems*** Remote Code Execution Important None

***Server Core installation not affected. The vulnerability addressed by this update does not affect supported editions of Windows Server 2008 R2 as indicated, when installed using the Server Core installation option, even though files affected by this vulnerability may be present on the system. However, users with the affected files will still be offered this update because the update files are newer (with higher version numbers) than the files that are currently on your system. For more information on this installation option, see the MSDN articles, Server Core and Server Core for Windows Server 2008 R2. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008 and Windows Server 2008 R2; see Compare Server Core Installation Options.

Non-Affected Software

Operating System
Microsoft Windows 2000 Service Pack 4
Windows XP Service Pack 2 and Windows XP Service Pack 3
Windows XP Professional x64 Edition Service Pack 2
Windows Server 2003 Service Pack 2
Windows Server 2003 x64 Edition Service Pack 2
Windows Server 2003 with SP2 for Itanium-based Systems
Windows Vista Service Pack 1 and Windows Vista Service Pack 2
Windows Vista x64 Edition Service Pack 1 and Windows Vista x64 Edition Service Pack 2
Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2
Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2
Windows 7 for 32-bit Systems
Windows Server 2008 R2 for Itanium-based Systems

Are the Windows 7 Service Pack 1 Beta and Windows Server 2008 R2 Service Pack 1 Beta releases affected by this vulnerability?
Yes, the x64-based editions of Windows 7 Service Pack 1 Beta and Windows Server 2008 R2 Service Pack 1 Beta are affected by the vulnerability described in this bulletin. Customers running these beta versions of the affected operating systems are encouraged to download and apply the update to their systems. Security updates are available from Microsoft Update and Windows Update. The security update is also available for download from the Microsoft Download Center.

Where are the file information details?
Refer to the reference tables in the Security Update Deployment section for the location of the file information details.

Why is Windows Server 2008 R2 for Itanium-based Systems not affected?
In order to be vulnerable to this issue, a system must have the Windows Aero theme enabled. Windows Server 2008 R2 for Itanium-based Systems does not support the Windows Aero theme. For a list of supported features, see TechNet article, Windows Server 2008 for Itanium-Based Systems Feature Support.

I am using an older release of the software discussed in this security bulletin. What should I do?
The affected software listed in this bulletin have been tested to determine which releases are affected. Other releases are past their support life cycle. For more information about the product lifecycle, visit the Microsoft Support Lifecycle Web site.

It should be a priority for customers who have older releases of the software to migrate to supported releases to prevent potential exposure to vulnerabilities. To determine the support lifecycle for your software release, see Select a Product for Lifecycle Information. For more information about service packs for these software releases, see Lifecycle Supported Service Packs.

Customers who require custom support for older software must contact their Microsoft account team representative, their Technical Account Manager, or the appropriate Microsoft partner representative for custom support options. Customers without an Alliance, Premier, or Authorized Contract can contact their local Microsoft sales office. For contact information, visit the Microsoft Worldwide Information Web site, select the country in the Contact Information list, and then click Go to see a list of telephone numbers. When you call, ask to speak with the local Premier Support sales manager. For more information, see the Microsoft Support Lifecycle Policy FAQ.

Vulnerability Information

Severity Ratings and Vulnerability Identifiers

The following severity ratings assume the potential maximum impact of the vulnerability. For information regarding the likelihood, within 30 days of this security bulletin's release, of the exploitability of the vulnerability in relation to its severity rating and security impact, please see the Exploitability Index in the July bulletin summary. For more information, see Microsoft Exploitability Index.

Affected Software Canonical Display Driver Integer Overflow Vulnerability - CVE-2009-3678 Aggregate Severity Rating
Windows 7 for x64-based Systems Critical \ Remote Code Execution Critical
Windows Server 2008 R2 for x64-based Systems*** Important \ Remote Code Execution Important

***Server Core installation not affected. The vulnerability addressed by this update does not affect supported editions of Windows Server 2008 R2 as indicated, when installed using the Server Core installation option, even though files affected by this vulnerability may be present on the system. However, users with the affected files will still be offered this update because the update files are newer (with higher version numbers) than the files that are currently on your system. For more information on this installation option, see the MSDN articles, Server Core and Server Core for Windows Server 2008 R2. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008 and Windows Server 2008 R2; see Compare Server Core Installation Options.

Canonical Display Driver Integer Overflow Vulnerability - CVE-2009-3678

An unauthenticated remote code execution vulnerability exists in the way that the Microsoft Canonical Display Driver (cdd.dll) parses information copied from user mode to kernel mode. Although it is possible that the vulnerability could allow code execution, successful code execution is unlikely due to memory randomization. In most scenarios, it is much more likely that an attacker who successfully exploited this vulnerability could cause the affected system to stop responding and automatically restart. An attacker who can successfully exploit this vulnerability for code execution could execute arbitrary code and take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

To view this vulnerability as a standard entry in the Common Vulnerabilities and Exposures list, see CVE-2009-3678.

Mitigating Factors for Canonical Display Driver Integer Overflow Vulnerability - CVE-2009-3678

Mitigation refers to a setting, common configuration, or general best-practice, existing in a default state, that could reduce the severity of exploitation of a vulnerability. The following mitigating factors may be helpful in your situation:

  • This vulnerability only impacts Windows systems that have the Windows Aero theme installed. By default, Windows Aero is not enabled in Windows Server 2008 R2. Also, Windows Server 2008 R2 does not include Windows Aero-capable graphics drivers. To enable Windows Aero, you must obtain graphics drivers from a third-party vendor or from the graphics adapter manufacturer.
  • In a Web-based attack scenario, an attacker could host a Web site that contains a Web page that is used to exploit this vulnerability. In addition, compromised Web sites and Web sites that accept or host user-provided content or advertisements could contain specially crafted content that could exploit this vulnerability. In all cases, however, an attacker would have no way to force users to visit these Web sites. Instead, an attacker would have to convince users to visit the Web site, typically by getting them to click a link in an e-mail message or Instant Messenger message that takes users to the attacker’s Web site.

Workarounds for Canonical Display Driver Integer Overflow Vulnerability - CVE-2009-3678

Workaround refers to a setting or configuration change that does not correct the underlying vulnerability but would help block known attack vectors before you apply the update. Microsoft has tested the following workarounds and states in the discussion whether a workaround reduces functionality:

  • Disable the Windows Aero Theme

Disabling the Windows Aero theme prevents this issue from being exploited on affected systems.

Using the Interactive Method

To disable Windows Aero by changing the theme, perform the following steps for each user on a system:

  1. Click Start, select the Control Panel, and then click on Appearance and Personalization.
  2. Under the Personalization category, click on Change the Theme.
  3. Scroll to the bottom of the listed themes and select one of the available Basic and High Contrast Themes.

Using Group Policy

Note The Group Policy MMC snap-in can be used to set policy for a machine, for an organizational unit or an entire domain. For more information about Group Policy, visit the following Microsoft Web sites:

Group Policy collection

What is Group Policy Object Editor?

Core Group Policy tools and settings

To disable Windows Aero by switching to the default setting through group policy, perform the following steps:

  1. Open the Group Policy Management Console and configure the console to work with the appropriate Group Policy object, such as, local machine, OU, or domain GPO.
  2. Navigate to the following node:
    User Configuration - Policies - Administrative Templates - Control Panel - Personalization
  3. Double-click Force a specific visual style file or force Windows Classic.
  4. Change the setting to Enabled and ensure that the Path to Visual Style text box is blank.
  5. Click Apply and click OK to return to the Group Policy Management Console.
  6. Refresh the Group Policy on all systems or wait for the next scheduled Group Policy refresh interval for the settings to take effect.

FAQ for Canonical Display Driver Integer Overflow Vulnerability - CVE-2009-3678

What is the scope of the vulnerability? 
This is a remote code execution vulnerability. An attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

What causes the vulnerability? 
The Windows Canonical Display Driver does not properly parse information copied from user mode to kernel mode.

What is the Canonical Display Driver (cdd.dll)? 
The Canonical Display Driver (cdd.dll) is used by desktop composition to blend GDI and DirectX drawing. CDD emulates the interface of a Windows XP display driver for interactions with the Win32k GDI graphics engine.

What is GDI? 
The Microsoft Windows graphics device interface (GDI) enables applications to use graphics and formatted text on both the video display and the printer. Windows-based applications do not access the graphics hardware directly. Instead, GDI interacts with device drivers on behalf of applications. For more information about GDI, see the MSDN article, Windows GDI.

What is Windows Aero? 
Windows Aero is the desktop experience available to PCs using a compatible graphics adapter and running the Home Premium, Professional, Ultimate, or Enterprise editions of Windows 7. Windows Aero is an installable option on Windows Server 2008 R2.

What might an attacker use the vulnerability to do? 
In most scenarios, an attacker who successfully exploited this vulnerability could cause the affected system to stop responding and automatically restart.

It is also theoretically possible, but unlikely due to memory randomization, that an attacker who successfully exploited this vulnerability could run arbitrary code. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

Why is code execution unlikely for this issue? 
An attacker who attempts to exploit this issue for code execution would need to write executable content to a specific space in kernel memory. However, since the starting address will be random, the final pointer destination will be difficult to predict. The implementation of Address Space Layout Randomization (ASLR) by default on affected systems further complicates this prediction. In most scenarios, exploit code could much more likely result in a denial of service than in code execution.

What is Address Space Layout Randomization (ASLR)? 
Systems implementing Address Space Layout Randomization relocate normally-predictable function entry points pseudo-randomly in memory. For more information regarding ASLR, see the TechNet Magazine article, Inside the Windows Vista Kernel: Part 3.

How could an attacker exploit the vulnerability? 
This vulnerability requires that a user view a specially crafted image file with an affected application. Only applications that use the APIs for GDI for rendering images are affected by this issue.

In a Web-based attack scenario, an attacker would have to host a Web site that contains a specially crafted image file that is used to attempt to exploit this vulnerability. In addition, compromised Web sites and Web sites that accept or host user-provided content could contain specially crafted content that could exploit this vulnerability. An attacker would have no way to force users to visit a specially crafted Web site. Instead, an attacker would have to convince them to visit the Web site, typically by getting them to click a link in an e-mail message or Instant Messenger message that takes them to the attacker's site.

What systems are primarily at risk from the vulnerability? 
Workstations are primarily at risk from this vulnerability. Servers could also be at risk if the Aero desktop features are enabled.

Are third-party applications affected by this issue? 
Some third-party image viewing applications may be affected by this issue if they use the APIs for GDI to render images. To ensure that your system is fully protected from the vulnerability described in this bulletin, you should contact the developer or vendor responsible for support for the third-party application directly.

What does the update do? 
The update addresses the vulnerability by correcting the manner in which the Canonical Display Driver parses information copied from user mode to kernel mode.

When this security bulletin was issued, had this vulnerability been publicly disclosed? 
Yes. This vulnerability has been publicly disclosed. It has been assigned Common Vulnerability and Exposure number CVE-2009-3678.

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited? 
No. Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers when this security bulletin was originally issued.

Update Information

Detection and Deployment Tools and Guidance

Manage the software and security updates you need to deploy to the servers, desktop, and mobile systems in your organization. For more information see the TechNet Update Management Center. The Microsoft TechNet Security Web site provides additional information about security in Microsoft products.

Security updates are available from Microsoft Update and Windows Update. Security updates are also available from the Microsoft Download Center. You can find them most easily by doing a keyword search for "security update."

Finally, security updates can be downloaded from the Microsoft Update Catalog. The Microsoft Update Catalog provides a searchable catalog of content made available through Windows Update and Microsoft Update, including security updates, drivers and service packs. By searching using the security bulletin number (such as, "MS07-036"), you can add all of the applicable updates to your basket (including different languages for an update), and download to the folder of your choosing. For more information about the Microsoft Update Catalog, see the Microsoft Update Catalog FAQ.

Note Microsoft discontinued support for Office Update and the Office Update Inventory Tool as of August 1, 2009. To continue getting the latest updates for Microsoft Office products, use Microsoft Update. For more information, see About Microsoft Office Update: Frequently Asked Questions.

Detection and Deployment Guidance

Microsoft provides detection and deployment guidance for security updates. This guidance contains recommendations and information that can help IT professionals understand how to use various tools for detection and deployment of security updates. For more information, see Microsoft Knowledge Base Article 961747.

Microsoft Baseline Security Analyzer

Microsoft Baseline Security Analyzer (MBSA) allows administrators to scan local and remote systems for missing security updates as well as common security misconfigurations. For more information about MBSA, visit Microsoft Baseline Security Analyzer.

The following table provides the MBSA detection summary for this security update.

Software MBSA 2.1.1
Windows 7 for x64-based Systems Yes
Windows Server 2008 R2 for x64-based Systems Yes

The latest version of MBSA has been released: Microsoft Baseline Security Analyzer 2.1.1. For more information, see Microsoft Baseline Security Analyzer 2.1.

Windows Server Update Services

By using Windows Server Update Services (WSUS), administrators can deploy the latest critical updates and security updates for Microsoft Windows 2000 operating systems and later, Office XP and later, Exchange Server 2003, and SQL Server 2000. For more information about how to deploy this security update using Windows Server Update Services, visit the Windows Server Update Services Web site.

Systems Management Server

The following table provides the SMS detection and deployment summary for this security update.

Software SMS 2.0 SMS 2003 with SUIT SMS 2003 with ITMU Configuration Manager 2007
Windows 7 for x64-based Systems No No Yes Yes
Windows Server 2008 R2 for x64-based Systems No No Yes Yes

For SMS 2.0 and SMS 2003, the Security Update Inventory Tool (SUIT) can be used by SMS to detect security updates. See also Downloads for Systems Management Server 2.0.

For SMS 2003, the SMS 2003 Inventory Tool for Microsoft Updates (ITMU) can be used by SMS to detect security updates that are offered by Microsoft Update and that are supported by Windows Server Update Services. For more information about the SMS 2003 ITMU, see SMS 2003 Inventory Tool for Microsoft Updates. For more information about SMS scanning tools, see SMS 2003 Software Update Scanning Tools. See also Downloads for Systems Management Server 2003.

System Center Configuration Manager 2007 uses WSUS 3.0 for detection of updates. For more information about Configuration Manager 2007 Software Update Management, visit System Center Configuration Manager 2007.

For more information about SMS, visit the SMS Web site.

For more detailed information, see Microsoft Knowledge Base Article 910723: Summary list of monthly detection and deployment guidance articles.

Update Compatibility Evaluator and Application Compatibility Toolkit

Updates often write to the same files and registry settings required for your applications to run. This can trigger incompatibilities and increase the time it takes to deploy security updates. You can streamline testing and validating Windows updates against installed applications with the Update Compatibility Evaluator components included with Application Compatibility Toolkit.

The Application Compatibility Toolkit (ACT) contains the necessary tools and documentation to evaluate and mitigate application compatibility issues before deploying Microsoft Windows Vista, a Windows Update, a Microsoft Security Update, or a new version of Windows Internet Explorer in your environment.

Security Update Deployment

Affected Software

For information about the specific security update for your affected software, click the appropriate link:

Windows 7 (all x64-based editions)

Reference Table

The following table contains the security update information for this software. You can find additional information in the subsection, Deployment Information, in this section.

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment
Installing without user intervention For all supported x64-based editions of Windows 7:\ Windows6.1-KB2032276-x64 /quiet
Installing without restarting For all supported x64-based editions of Windows 7:\ Windows6.1-KB2032276-x64 /quiet /norestart
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement
Restart required? Yes, you must restart your system after you apply this security update.
HotPatching Not applicable.
Removal Information WUSA.exe does not support uninstall of updates. To uninstall an update installed by WUSA, click Control Panel, and then click System and Security. Under Windows Update, click View installed updates and select from the list of updates.
File Information See Microsoft Knowledge Base Article 2032276
Registry Key Verification Note A registry key does not exist to validate the presence of this update.

Deployment Information

Installing the Update

When you install this security update, the installer checks whether one or more of the files that are being updated on your system have previously been updated by a Microsoft hotfix.

For more information about the terminology that appears in this bulletin, such as hotfix, see Microsoft Knowledge Base Article 824684.

This security update supports the following setup switches.

Switch Description
/?, /h, /help Displays help on supported switches.
/quiet Suppresses the display of status or error messages.
/norestart When combined with /quiet, the system will not be restarted after installation even if a restart is required to complete installation.

Note For more information about the wusa.exe installer, see Microsoft Knowledge Base Article 934307.

Verifying That the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

    To verify that a security update has been applied to an affected system, you may be able to use the Microsoft Baseline Security Analyzer (MBSA) tool. See the section, Detection and Deployment Tools and Guidance, earlier in this bulletin for more information.

  • File Version Verification

    Because there are several editions of Microsoft Windows, the following steps may be different on your system. If they are, see your product documentation to complete these steps.

    1. Click Start and then enter an update file name in Start Search.
    2. When the file appears under Programs, right-click on the file name and click Properties.
    3. Under the General tab, compare the file size with the file information tables provided in the bulletin KB article.
    4. You may also click on the Details tab and compare information, such as file version and date modified, with the file information tables provided in the bulletin KB article.
    5. Finally, you may also click on the Previous Versions tab and compare file information for the previous version of the file with the file information for the new, or updated, version of the file.

Windows Server 2008 R2 (all x64-based editions)

Reference Table

The following table contains the security update information for this software. You can find additional information in the subsection, Deployment Information, in this section.

Inclusion in Future Service Packs The update for this issue will be included in a future service pack or update rollup
Deployment
Installing without user intervention For all supported x64-based editions of Windows Server 2008 R2:\ Windows6.1-KB2032276-x64 /quiet
Installing without restarting For all supported x64-based editions of Windows Server 2008 R2:\ Windows6.1-KB2032276-x64 /quiet /norestart
Further information See the subsection, Detection and Deployment Tools and Guidance
Restart Requirement
Restart required? Yes, you must restart your system after you apply this security update.
HotPatching Not applicable.
Removal Information WUSA.exe does not support uninstall of updates. To uninstall an update installed by WUSA, click Control Panel, and then click System and Security. Under Windows Update, click View installed updates and select from the list of updates.
File Information See Microsoft Knowledge Base Article 2032276
Registry Key Verification Note A registry key does not exist to validate the presence of this update.

Deployment Information

Installing the Update

When you install this security update, the installer checks whether one or more of the files that are being updated on your system have previously been updated by a Microsoft hotfix.

For more information about the terminology that appears in this bulletin, such as hotfix, see Microsoft Knowledge Base Article 824684.

This security update supports the following setup switches.

Switch Description
/?, /h, /help Displays help on supported switches.
/quiet Suppresses the display of status or error messages.
/norestart When combined with /quiet, the system will not be restarted after installation even if a restart is required to complete installation.

Note For more information about the wusa.exe installer, see Microsoft Knowledge Base Article 934307.

Verifying That the Update Has Been Applied

  • Microsoft Baseline Security Analyzer

    To verify that a security update has been applied to an affected system, you may be able to use the Microsoft Baseline Security Analyzer (MBSA) tool. See the section, Detection and Deployment Tools and Guidance, earlier in this bulletin for more information.

  • File Version Verification

    Because there are several editions of Microsoft Windows, the following steps may be different on your system. If they are, see your product documentation to complete these steps.

    1. Click Start and then enter an update file name in Start Search.
    2. When the file appears under Programs, right-click on the file name and click Properties.
    3. Under the General tab, compare the file size with the file information tables provided in the bulletin KB article.
    4. You may also click on the Details tab and compare information, such as file version and date modified, with the file information tables provided in the bulletin KB article.
    5. Finally, you may also click on the Previous Versions tab and compare file information for the previous version of the file with the file information for the new, or updated, version of the file.

Other Information

Acknowledgments

Microsoft thanks the following for working with us to help protect customers:

  • David Hansel of Reactive Systems, Inc for reporting the Canonical Display Driver Integer Overflow Vulnerability (CVE-2009-3678)

Microsoft Active Protections Program (MAPP)

To improve security protections for customers, Microsoft provides vulnerability information to major security software providers in advance of each monthly security update release. Security software providers can then use this vulnerability information to provide updated protections to customers via their security software or devices, such as antivirus, network-based intrusion detection systems, or host-based intrusion prevention systems. To determine whether active protections are available from security software providers, please visit the active protections Web sites provided by program partners, listed in Microsoft Active Protections Program (MAPP) Partners.

Support

  • Customers in the U.S. and Canada can receive technical support from Security Support or 1-866-PCSAFETY. There is no charge for support calls that are associated with security updates. For more information about available support options, see Microsoft Help and Support.
  • International customers can receive support from their local Microsoft subsidiaries. There is no charge for support that is associated with security updates. For more information about how to contact Microsoft for support issues, visit the International Support Web site.

Disclaimer

The information provided in the Microsoft Knowledge Base is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.

Revisions

  • V1.0 (July 13, 2010): Bulletin published.
  • V1.1 (July 14, 2010): Added an entry to the update FAQ to provide guidance for Windows 7 Service Pack 1 Beta and Windows Server 2008 R2 Service Pack 1 Beta releases. Also removed erroneous references to Windows Embedded Standard 7.

Built at 2014-04-18T13:49:36Z-07:00