Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:19596
HistoryApr 08, 2008 - 12:00 a.m.

Microsoft Security Bulletin MS08-021 – Critical Vulnerabilities in GDI Could Allow Remote Code Execution (948590)

2008-04-0800:00:00
vulners.com
35

Microsoft Security Bulletin MS08-021 – Critical
Vulnerabilities in GDI Could Allow Remote Code Execution (948590)
Published: April 8, 2008

Version: 1.0
General Information
Executive Summary

This security update resolves two privately reported vulnerabilities in GDI. Exploitation of either of these vulnerabilities could allow remote code execution if a user opens a specially crafted EMF or WMF image file. An attacker who successfully exploited these vulnerabilities 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.

This is a critical security update for Microsoft Windows 2000 Service Pack 4, and all supported releases of Windows XP, Windows Server 2003, Windows Vista, and Windows Server 2008. For more information, see the subsection, Affected and Non-Affected Software, in this section.

This security update addresses the vulnerability by modifying the way that GDI handles integer calculations and string parameters. For more information about the vulnerability, see the Frequently Asked Questions (FAQ) subsection for the specific vulnerability entry under the next section, Vulnerability Information.

Recommendation. Microsoft recommends that customers apply the update immediately

Known Issues. None
Top of sectionTop of section
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

Microsoft Windows 2000 Service Pack 4

Remote Code Execution

Critical

MS07-046

Windows XP Service Pack 2

Remote Code Execution

Critical

MS07-046

Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

Remote Code Execution

Critical

MS07-046

Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

Remote Code Execution

Critical

MS07-046

Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2

Remote Code Execution

Critical

MS07-046

Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium based Systems

Remote Code Execution

Critical

MS07-046

Windows Vista and Windows Vista Service Pack 1

Remote Code Execution

Critical

None

Windows Vista x64 Edition and Windows Vista x64 Edition Service Pack 1

Remote Code Execution

Critical

None

Windows Server 2008 for 32-bit Systems

Remote Code Execution

Critical

None

Windows Server 2008 for x64-based Systems

Remote Code Execution

Critical

None

Windows Server 2008 for Itanium-based Systems

Remote Code Execution

Critical

None
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

Where are the file information details?
The file information details can be found in Microsoft Knowledge Base Article 948590.

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. To determine the support life cycle for your software release, visit Microsoft Support Lifecycle.

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. For more information about the Windows Product Lifecycle, visit Microsoft Support Lifecycle. For more information about the extended security update support period for these software versions or editions, visit Microsoft Product Support Services.

Customers who require custom support for older releases 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 Microsoft Worldwide Information, select the country, 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 Windows Operating System Product Support Lifecycle FAQ.
Top of sectionTop of section
Vulnerability Information

Severity Ratings and Vulnerability Identifiers
Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software GDI Heap Overflow Vulnerability - CVE-2008-1083 GDI stack Overflow Vulnerability – CVE-2008-1087 Aggregate Severity Rating

Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Windows XP Service Pack 2

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Windows Server 2003 x64 Edition and Windows 2003 Server x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium based Systems

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Windows Vista and Windows Vista Service Pack 1

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Windows Vista x64 Edition and Windows Vista x64 Edition Service Pack 1

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical

Windows Server 2008

Critical
Remote Code Execution

Critical
Remote Code Execution

Critical
Top of sectionTop of section

GDI Heap Overflow Vulnerability - CVE-2008-1083

A remote code execution vulnerability exists in the way that GDI handles integer calculations. The vulnerability could allow remote code execution if a user opens a specially crafted EMF or WMF image file. 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.

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

Mitigating Factors for GDI Heap Overflow Vulnerability - CVE-2008-1083

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.

An attacker who successfully exploited this vulnerability could gain the same user rights as the local user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

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 persuade 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.
Top of sectionTop of section

Workarounds for GDI Heap Overflow Vulnerability - CVE-2008-1083

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.

Turn off metafile processing by modifying the registry

Customers who have applied MS07-017 or customers using Windows Vista or Windows Server 2008 can disable metafile processing by modifying the registry. This setting will help protect the affected system from attempts to exploit this vulnerability.

To modify the key, follow these steps:

Note Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. For information about how to edit the registry, view the "Changing Keys And Values" Help topic in Registry Editor (Regedit.exe) or view the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe.

Click Start, click Run, type Regedit in the Open box, and then click OK.

Locate and then click the following registry subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize

On the Edit menu, point to New, and then click DWORD.

Type DisableMetaFiles, and then press ENTER.

On the Edit menu, click Modify to modify the DisableMetaFiles registry entry.

In the Value data box, type 1, and then click OK.

Exit Registry Editor.

Reboot the computer.

Impact of workaround.Turning off processing of metafiles may cause the appearance of software or system components to decrease in quality. Turning off processing of metafiles may also cause the software or system components to fail completely. It has been identified to have a potential significant functionality impact and should be evaluated and tested carefully to determine its applicability.

Examples include the following:

You cannot print on the computer.

Some applications on the computer may be unable to display Clipart.

Some scenarios that involve OLE rendering may break. Especially, it occurs when the object server is not active.

For more information on this setting please read Microsoft Knowledge Base Article 941835.

Managed Deployment Script:

Save the following to a file with a .REG extension (e.g. Disable_MetaFiles.reg):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize]
"DisableMetaFiles"=dword:00000001

Run the above registry script on the target machine with the following command from an administrator (on Vista, an elevated administrator) command prompt:

Regedit.exe /s Disable_MetaFiles.reg

Reboot the computer.

How to undo the workaround:

Click Start, click Run, type Regedit in the Open box, and then click OK.

Locate and then click the following registry subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize\DWORD

On the Edit menu, click Modify on the DisableMetaFiles registry entry.

In the Value data box, type 0, and then click OK.

Exit Registry Editor.

Reboot the computer.

Important Notice Regarding Workaround Information.

The Workaround information provided in this document is intended ONLY to be an interim (i.e., emergency) solution for an undisclosed security vulnerability. Once Microsoft provides a security update, or provides more detailed workaround information in a security bulletin, you should not continue to use or rely on this Workaround; and you should promptly apply any security update and/or updated workaround information subsequently provided by Microsoft. In the event this Workaround applies to a version of Microsoft software for which no security update will be made available, and a more recent version of Microsoft software has addressed the underlying security vulnerability or will be updated to address the underlying security vulnerability, then you should not rely on this Workaround as a permanent solution; and you should install the more recent version of such Microsoft software and security updates at the earliest possible time.
Top of sectionTop of section

FAQ for GDI Heap Overflow Vulnerability - CVE-2008-1083

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 vulnerability is caused by a buffer overflow when GDI improperly processes a malformed header in a specially crafted EMF or WMF image file.

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, visit the Windows GDI Start Page.

What are Windows Metafile (WMF) and Enhanced Metafile (EMF) image formats?
A WMF image is a 16-bit metafile format that can contain both vector information and bitmap information. It is optimized for the Windows operating system.

An EMF image is a 32-bit format that can contain both vector information and bitmap information. This format is an improvement over the Windows Metafile Format and contains extended features.

For more information about image types and formats, see Microsoft Knowledge Base Article 320314. Additional information about these file formats is also available at the MSDN Library Web Site.

What might an attacker use the vulnerability to do?
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.

How could an attacker exploit the vulnerability?
This vulnerability requires that a user open a specially crafted image file.

In an e-mail attack scenario, an attacker could exploit the vulnerability by sending a specially-crafted EMF or WMF image file or an Office document with a specially-crafted EMF or WMF image file embedded in it to the user and by convincing the user to open the document or view the email containing the specially crafted image file.

In a Web-based attack scenario, an attacker would have to host a Web site that contains an EMF or WMF 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?
All currently supported Windows systems are at risk. Windows XP Service Pack 3 is not affected by this vulnerability.

What does the update do?
The update removes the vulnerability by modifying the way GDI performs integer calculations to prevent a heap overflow condition.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through responsible disclosure. Microsoft had not received any information to indicate that this vulnerability had been publicly disclosed when this security bulletin was originally issued. This security bulletin addresses the privately disclosed vulnerability as well as additional issues discovered through internal investigations.

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 and had not seen any examples of proof of concept code published when this security bulletin was originally issued.
Top of sectionTop of section
Top of sectionTop of section

GDI Stack Overflow Vulnerability - CVE-2008-1087

A remote code execution vulnerability exists in the way that GDI handles filename parameters in EMF files. The vulnerability could allow remote code execution if a user opens a specially crafted EMF image file. 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.

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

Mitigating Factors for GDI Stack Overflow Vulnerability - CVE-2008-1087

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.

An attacker who successfully exploited this vulnerability could gain the same user rights as the local user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

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 persuade 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.
Top of sectionTop of section

Workarounds for GDI Stack Overflow Vulnerability - CVE-2008-1087

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.

Turn off metafile processing by modifying the registry

Customers who have applied MS07-017 or customers using Windows Vista or Windows Server 2008 can disable metafile processing by modifying the registry. This setting will help protect the affected system from attempts to exploit this vulnerability.

To modify the key, follow these steps:

Note Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. For information about how to edit the registry, view the "Changing Keys And Values" Help topic in Registry Editor (Regedit.exe) or view the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe.

Click Start, click Run, type Regedit in the Open box, and then click OK.

Locate and then click the following registry subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize

On the Edit menu, point to New, and then click DWORD.

Type DisableMetaFiles, and then press ENTER.

On the Edit menu, click Modify to modify the DisableMetaFiles registry entry.

In the Value data box, type 1, and then click OK.

Exit Registry Editor.

Reboot computer.

Impact of workaround. Turning off processing of metafiles may cause the appearance of software or system components to decrease in quality. Turning off processing of metafiles may also cause the software or system components to fail completely. It has been identified to have a potential significant functionality impact and should be evaluated and tested carefully to determine its applicability.

Examples include the following:

You cannot print on the computer.

Some applications on the computer may be unable to display Clipart.

Some scenarios that involve OLE rendering may break. Especially, it occurs when the object server is not active.

For more information on this setting please read Microsoft Knowledge Base Article 941835.

Managed Deployment Script:

Save the following to a file with a .REG extension (e.g. Disable_MetaFiles.reg):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize]
"DisableMetaFiles"=dword:00000001

Run the above registry script on the target machine with the following command from an administrator (on Vista, an elevated administrator) command prompt:

Regedit.exe /s Disable_MetaFiles.reg

Reboot the computer.

How to undo the workaround:

Click Start, click Run, type Regedit in the Open box, and then click OK.

Locate and then click the following registry subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize\DWORD

On the Edit menu, click Modify on the DisableMetaFiles registry entry.

In the Value data box, type 0, and then click OK.

Exit Registry Editor.

Reboot the computer.

Important Notice Regarding Workaround Information.

The Workaround information provided in this document is intended ONLY to be an interim (i.e., emergency) solution for an undisclosed security vulnerability. Once Microsoft provides a security update, or provides more detailed workaround information in a security bulletin, you should not continue to use or rely on this Workaround; and you should promptly apply any security update and/or updated workaround information subsequently provided by Microsoft. In the event this Workaround applies to a version of Microsoft software for which no security update will be made available, and a more recent version of Microsoft software has addressed the underlying security vulnerability or will be updated to address the underlying security vulnerability, then you should not rely on this Workaround as a permanent solution; and you should install the more recent version of such Microsoft software and security updates at the earliest possible time.
Top of sectionTop of section

FAQ for GDI Stack Overflow Vulnerability - CVE-2008-1087

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 vulnerability is caused by a stack overflow when GDI improperly processes a malformed file name parameter in a specially crafted EMF image file.

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, visit the Windows GDI Start Page.

What isWindows Enhanced Metafile (EMF) image format?
An EMF image is a 32-bit format that can contain both vector information and bitmap information. This format is an improvement over the Windows Metafile Format and contains extended features.

For more information about image types and formats, see Microsoft Knowledge Base Article 320314. Additional information about these file formats is also available at the MSDN Library Web Site.

What might an attacker use the vulnerability to do?
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.

How could an attacker exploit the vulnerability?
This vulnerability requires that a user open a specially crafted image file.

In an e-mail attack scenario, an attacker could exploit the vulnerability by sending a specially-crafted EMF image file or an Office document with a specially-crafted EMF image file embedded in it to the user and by convincing the user to open the document or view the email containing the specially crafted image file.

In a Web-based attack scenario, an attacker would have to host a Web site that contains an EMF 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?
All currently supported Windows systems are at risk. Windows XP Service Pack 3 is not affected by this vulnerability.

What does the update do?
The update removes the vulnerability by modifying the way GDI handles filename parameters to prevent stack overflow conditions.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through responsible disclosure. Microsoft had not received any information to indicate that this vulnerability had been publicly disclosed when this security bulletin was originally issued. This security bulletin addresses the privately disclosed vulnerability as well as additional issues discovered through internal investigations.

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 and had not seen any examples of proof of concept code published when this security bulletin was originally issued.

Other Information
Acknowledgments

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

Jun Mao of iDefense Labs for reporting the GDI Heap Overflow Vulnerability (CVE-2008-1083).

Sebastian Apelt of Zero Day Initiative for reporting the GDI Heap Overflow Vulnerability (CVE-2008-1083).

Thomas Garnier of SkyRecon for reporting the GDI Heap Overflow Vulnerability (CVE-2008-1083).

Yamata Li for reporting the GDI Stack Overflow Vulnerability (CVE-2008-1087).

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 (April 8, 2008): Bulletin published.