Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:21038
HistoryDec 18, 2008 - 12:00 a.m.

Microsoft Security Bulletin MS08-078 - Critical Security Update for Internet Explorer (960714)

2008-12-1800:00:00
vulners.com
127

Microsoft Security Bulletin MS08-078 - Critical
Security Update for Internet Explorer (960714)
Published: December 17, 2008

Version: 1.0
General Information
Executive Summary

This security update resolves a publicly disclosed vulnerability. The vulnerability could allow remote code execution if a user views a specially crafted Web page using Internet Explorer. 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.

This security update is rated Critical for Internet Explorer 5.01, Internet Explorer 6, Internet Explorer 6 Service Pack 1, and Internet Explorer 7. For information about Internet Explorer 8 Beta 2, please see the section, Frequently Asked Questions (FAQ) Related to This Security Update. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerability by modifying the way Internet Explorer validates data binding parameters and handles the error resulting in the exploitable condition. For more information about the vulnerability, see the Frequently Asked Questions (FAQ) subsection under the next section, Vulnerability Information.

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

Recommendation. Microsoft recommends that customers apply the update immediately.

Known Issues. None
Top of sectionTop of section
Affected and Non-Affected Software

The software listed here 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 Component Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by This Update
Internet Explorer 5.01 and Internet Explorer 6 Service Pack 1

Microsoft Windows 2000 Service Pack 4

Microsoft Internet Explorer 5.01 Service Pack 4

Remote Code Execution

Critical

None

Microsoft Windows 2000 Service Pack 4

Microsoft Internet Explorer 6 Service Pack 1

Remote Code Execution

Critical

None
Internet Explorer 6

Windows XP Service Pack 2 and Windows XP Service Pack 3

Microsoft Internet Explorer 6

Remote Code Execution

Critical

None

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

Microsoft Internet Explorer 6

Remote Code Execution

Critical

None

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

Microsoft Internet Explorer 6

Remote Code Execution

Critical

None

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

Microsoft Internet Explorer 6

Remote Code Execution

Critical

None

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

Microsoft Internet Explorer 6

Remote Code Execution

Critical

None
Internet Explorer 7

Windows XP Service Pack 2 and Windows XP Service Pack 3

Windows Internet Explorer 7

Remote Code Execution

Critical

None

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

Windows Internet Explorer 7

Remote Code Execution

Critical

None

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

Windows Internet Explorer 7

Remote Code Execution

Critical

None

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

Windows Internet Explorer 7

Remote Code Execution

Critical

None

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

Windows Internet Explorer 7

Remote Code Execution

Critical

None

Windows Vista and Windows Vista Service Pack 1

Windows Internet Explorer 7

Remote Code Execution

Critical

None

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

Windows Internet Explorer 7

Remote Code Execution

Critical

None

Windows Server 2008 for 32-bit Systems

Windows Internet Explorer 7

Remote Code Execution

Critical

None

Windows Server 2008 for x64-based Systems

Windows Internet Explorer 7

Remote Code Execution

Critical

None

Windows Server 2008 for Itanium-based Systems

Windows Internet Explorer 7

Remote Code Execution

Critical

None

Note For information about Internet Explorer 8 Beta 2, please see the section, Frequently Asked Questions (FAQ) Related to This Security Update.
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 the Microsoft Knowledge Base Article 960714.

Is the Windows Internet Explorer 8 Beta 2 release affected by this vulnerability?
Yes. This vulnerability was reported after the release of Windows Internet Explorer 8 Beta 2. Customers running Windows Internet Explorer 8 Beta 2 are encouraged to download and apply the update to their systems.

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."

Is this a cumulative security update for Internet Explorer?
No. This out-of-band security update is not cumulative. To be fully protected, customers should apply this update after applying the most recent cumulative security update for Internet Explorer. This update, MS08-078, will be included in a future cumulative security update for Internet Explorer.

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 releases, visit the Microsoft Product Support Services Web site.

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, 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 Pointer Reference Memory Corruption Vulnerability - CVE-2008-4844 Aggregate Severity Rating
Internet Explorer 5.01 and Internet Explorer 6 Service Pack 1

Internet Explorer 5.01 Service Pack 4 when installed on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical

Internet Explorer 6 Service Pack 1 when installed on Microsoft Windows 2000 Service Pack 4

Critical
Remote Code Execution

Critical
Internet Explorer 6

Internet Explorer 6 for Windows XP Service Pack 2 and Windows XP Service Pack 3

Critical
Remote Code Execution

Critical

Internet Explorer 6 for Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

Internet Explorer 6 for Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

Critical
Remote Code Execution

Critical

Internet Explorer 6 for Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

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

Critical
Remote Code Execution

Critical
Internet Explorer 7

Internet Explorer 7 for Windows XP Service Pack 2 and Windows XP Service Pack 3

Critical
Remote Code Execution

Critical

Internet Explorer 7 for Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

Internet Explorer 7 for Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2

Critical
Remote Code Execution

Critical

Internet Explorer 7 for Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2

Critical
Remote Code Execution

Critical

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

Critical
Remote Code Execution

Critical

Internet Explorer 7 in Windows Vista and Internet Explorer 7 in Windows Vista Service Pack 1

Critical
Remote Code Execution

Critical

Internet Explorer 7 in Windows Vista x64 Edition and Internet Explorer 7 in Windows Vista x64 Edition Service Pack 1

Critical
Remote Code Execution

Critical

Internet Explorer 7 in Windows Server 2008 for 32-bit Systems

Critical
Remote Code Execution

Critical

Internet Explorer 7 in Windows Server 2008 for x64-based Systems

Critical
Remote Code Execution

Critical

Internet Explorer 7 in Windows Server 2008 for Itanium-based Systems

Critical
Remote Code Execution

Critical

Note For information about Internet Explorer 8 Beta 2, please see the section, Frequently Asked Questions (FAQ) Related to This Security Update.
Top of sectionTop of section

Pointer Reference Memory Corruption Vulnerability - CVE-2008-4844

A remote code execution vulnerability exists as an invalid pointer reference in the data binding function of Internet Explorer. When data binding is enabled (which is the default state), it is possible under certain conditions for an object to be released without updating the array length, leaving the potential to access the deleted object's memory space. This can cause Internet Explorer to exit unexpectedly, in a state that is exploitable.

An attacker could exploit the vulnerability by constructing a specially crafted Web page. When a user views the Web page, the vulnerability could allow remote code execution. An attacker who successfully exploited this vulnerability could gain the same user rights as the logged-on user.

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

Mitigating Factors for Pointer Reference Memory Corruption Vulnerability - CVE-2008-4844

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:

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.

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.

By default, Protected Mode in Internet Explorer 7 and Internet Explorer 8 Beta 2 in Windows Vista and later helps protect users and their systems from malicious downloads by restricting requests to start another program or requests to save files without the user's consent. This includes user or system files and settings.
Top of sectionTop of section

Workarounds for Pointer Reference Memory Corruption Vulnerability - CVE-2008-4844

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:

Set Internet and Local intranet security zone settings to “High” to prompt before running ActiveX Controls and Active Scripting in these zones

You can help protect against exploitation of this vulnerability by changing your settings for the Internet security zone to prompt before running ActiveX controls and Active Scripting. You can do this by setting your browser security to High.

To raise the browsing security level in Internet Explorer, follow these steps:

On the Internet Explorer Tools menu, click Internet Options.

In the Internet Options dialog box, click the Security tab, and then click the Internet icon.

Under Security level for this zone, move the slider to High. This sets the security level for all Web sites you visit to High.

Note If no slider is visible, click Default Level, and then move the slider to High.

Note Setting the level to High may cause some Web sites to work incorrectly. If you have difficulty using a Web site after you change this setting, and you are sure the site is safe to use, you can add that site to your list of trusted sites. This will allow the site to work correctly even with the security setting set to High.

Impact of workaround. There are side effects to prompting before running ActiveX Controls and Active Scripting. Many Web sites that are on the Internet or on an intranet use ActiveX or Active Scripting to provide additional functionality. For example, an online e-commerce site or banking site may use ActiveX Controls to provide menus, ordering forms, or even account statements. Prompting before running ActiveX Controls or Active Scripting is a global setting that affects all Internet and intranet sites. You will be prompted frequently when you enable this workaround. For each prompt, if you feel you trust the site that you are visiting, click Yes to run ActiveX Controls or Active Scripting. If you do not want to be prompted for all these sites, use the steps outlined in "Add sites that you trust to the Internet Explorer Trusted sites zone".

Add sites that you trust to the Internet Explorer Trusted sites zone

After you set Internet Explorer to require a prompt before it runs ActiveX controls and Active Scripting in the Internet zone and in the Local intranet zone, you can add sites that you trust to the Internet Explorer Trusted sites zone. This will allow you to continue to use trusted Web sites exactly as you do today, while helping to protect you from this attack on untrusted sites. We recommend that you add only sites that you trust to the Trusted sites zone.

To do this, follow these steps:

In Internet Explorer, click Tools, click Internet Options, and then click the Security tab.

In the Select a Web content zone to specify its current security settings box, click Trusted Sites, and then click Sites.

If you want to add sites that do not require an encrypted channel, click to clear the Require server verification (https:) for all sites in this zone check box.

In the Add this Web site to the zone box, type the URL of a site that you trust, and then click Add.

Repeat these steps for each site that you want to add to the zone.

Click OK two times to accept the changes and return to Internet Explorer.

Note Add any sites that you trust not to take malicious action on your system. Two in particular that you may want to add are *.windowsupdate.microsoft.com and *.update.microsoft.com. These are the sites that will host the update, and it requires an ActiveX Control to install the update.

Configure Internet Explorer to prompt before running Active Scripting or to disable Active Scripting in the Internet and Local intranet security zone

You can help protect against exploitation of this vulnerability by changing your settings to prompt before running Active Scripting or to disable Active Scripting in the Internet and Local intranet security zone. To do this, follow these steps:

In Internet Explorer, click Internet Options on the Tools menu.

Click the Security tab.

Click Internet, and then click Custom Level.

Under Settings, in the Scripting section, under Active Scripting, click Prompt or Disable, and then click OK.

Click Local intranet, and then click Custom Level.

Under Settings, in the Scripting section, under Active Scripting, click Prompt or Disable, and then click OK.

Click OK two times to return to Internet Explorer.

Note Disabling Active Scripting in the Internet and Local intranet security zones may cause some Web sites to work incorrectly. If you have difficulty using a Web site after you change this setting, and you are sure the site is safe to use, you can add that site to your list of trusted sites. This will allow the site to work correctly.

Impact of workaround.There are side effects to prompting before running Active Scripting. Many Web sites that are on the Internet or on an intranet use Active Scripting to provide additional functionality. For example, an online e-commerce site or banking site may use Active Scripting to provide menus, ordering forms, or even account statements. Prompting before running Active Scripting is a global setting that affects all Internet and intranet sites. You will be prompted frequently when you enable this workaround. For each prompt, if you feel you trust the site that you are visiting, click Yes to run Active Scripting. If you do not want to be prompted for all these sites, use the steps outlined in "Add sites that you trust to the Internet Explorer Trusted sites zone".

Add sites that you trust to the Internet Explorer Trusted sites zone

After you set Internet Explorer to require a prompt before it runs ActiveX controls and Active Scripting in the Internet zone and in the Local intranet zone, you can add sites that you trust to the Internet Explorer Trusted sites zone. This will allow you to continue to use trusted Web sites exactly as you do today, while helping to protect you from this attack on untrusted sites. We recommend that you add only sites that you trust to the Trusted sites zone.

To do this, follow these steps:

In Internet Explorer, click Tools, click Internet Options, and then click the Security tab.

In the Select a Web content zone to specify its current security settings box, click Trusted Sites, and then click Sites.

If you want to add sites that do not require an encrypted channel, click to clear the Require server verification (https:) for all sites in this zone check box.

In the Add this Web site to the zone box, type the URL of a site that you trust, and then click Add.

Repeat these steps for each site that you want to add to the zone.

Click OK two times to accept the changes and return to Internet Explorer.

Note Add any sites that you trust not to take malicious action on your system. Two in particular that you may want to add are *.windowsupdate.microsoft.com and *.update.microsoft.com. These are the sites that will host the update, and it requires an ActiveX Control to install the update.

Disable XML Island functionality

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

Create a backup copy of the registry keys by using the following command from an elevated command prompt:

Regedit.exe /e Disable_XML_Island_backup.reg HKEY_CLASSES_ROOT\CLSID\{379E501F-B231-11D1-ADC1-00805FC752D8}

For Windows Vista and Windows Server 2008 only, take ownership of [HKEY_CLASSES_ROOT\CLSID\{379E501F-B231-11D1-ADC1-00805FC752D8}], as follows:

As an administrator, click Start, click Run, type Regedit in the Open box, and then click OK

Go to [HKEY_CLASSES_ROOT\CLSID\{379E501F-B231-11D1-ADC1-00805FC752D8}]

Click Permission, then Advanced, then Owner

Change Owner to Administrator

Click Grant Full Control to Administrator

Then iterate for all subkeys

Next, save the following to a file with a .REG extension, such as Disable_XML_Island.reg:

Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\CLSID\{379E501F-B231-11D1-ADC1-00805FC752D8}]

Run Disable_XML_Island.reg with the following command from an elevated command prompt:

Regedit.exe /s Disable_XML_Island.reg

Impact of workaround: Embedded XML in HTML may not render correctly.

How to undo the workaround

Restore the original state by running the following command from an elevated command prompt:

Regedit.exe /s Disable_XML_Island_backup.reg

Restrict Internet Explorer from using OLEDB32.dll with an Integrity Level ACL

This workaround applies only to Windows Vista and newer operating systems and requires that UAC prompting and Protected Mode be enabled, which are the default settings.

Save the following text to a temporary directory:

For 32-bit systems

Save to a text file called: "BlockAccess_x86.inf"

[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"

For 64-bit systems

Save to a text file called: "BlockAccess_x64.inf"

[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"
"%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"

Run the following command from the temporary directory as an Administrator:

SecEdit /configure /db BlockAccess.sdb /cfg <inf file>

After the command completes, you should see the following messages:

The task has completed successfully.
See log %windir%\security\logs\scesrv.log for detail info.

Validating the workaround

To validate that the workaround was successfully applied, run the following commands at a command prompt:

For 32-bit systems

icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

For 64-bit systems

icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"
icacls "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll"

Each time you run icacls, search through the output for the following line.

Mandatory Label\Medium Mandatory Level:(NW,NR,NX)

Impact of workaround: Any ADO/OLE DB applications running in Internet Explorer, which is not common, will stop functioning. The impact is minimal since all other processes running in Medium or higher integrity level would still be able to load the dll and use it.

How to undo the workaround

Save the following text to a temporary directory:

For 32-bit systems

Save to a text file called: "unBlockAccess_x86.inf"

[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NW;;;ME)"

For 64-bit systems

Save to a text file called: "unBlockAccess_x64.inf"

[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NW;;;ME)"
"%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll",2,"S:(ML;;NW;;;ME)"

Run the following command from the temporary directory as an Administrator:

SecEdit /configure /db UnblockAccess.sdb /cfg <inf file>

After the command completes, you should see the following messages:

The task has completed successfully.
See log %windir%\security\logs\scesrv.log for detail info.

Disable Row Position functionality of OLEDB32.dll

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

Create a backup copy of the registry keys by using the following command from an elevated command prompt:

Regedit.exe /e Disable_Row_Position_backup.reg HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}

For Windows Vista and Windows Server 2008 only, take ownership of [HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}], as follows:

As an administrator, click Start, click Run, type Regedit in the Open box, and then click OK

Go to [HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}]

Click Permission, then Advanced, then Owner

Change Owner to Administrator

Click Grant Full Control to Administrator

Then iterate for all subkeys

Next, save the following to a file with a .REG extension, such as Disable_Row_Position.reg:

Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\CLSID\{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}]

Run Disable_Row_Position.reg with the following command from an elevated command prompt:

Regedit.exe /s Disable_Row_Position.reg

Impact of workaround: All ADO applications using the RowPosition property and related information will stop functioning. All OLE DB applications using the OLE DB Row Position Library will stop functioning.

How to undo the workaround

Restore the original state by running the following command from an elevated command prompt:

Regedit.exe /s Disable_Row_Position_backup.reg

Unregister OLEDB32.DLL

Run the following commands from a command prompt as an administrator:

For supported versions of Windows 2000, Windows XP, Windows Server 2003, Windows Vista, and Windows Server 2008 for 32-bit Systems

Regsvr32.exe /u "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

For supported versions of Windows XP Professional x64 Edition, Windows Server 2003 x64 Edition, Windows Vista x64 Edition, Windows Server 2008 for x64-based Systems, and Windows Server 2008 for Itanium-based Systems

Regsvr32.exe /u "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

Regsvr32.exe /u "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll"

Impact of workaround: All OLE DB and ADO applications will stop functioning. This includes all ASP/ADO implementations, SQL Server linked services, .Net applications using the System.Data.OLEDB namespace, and some Office functionality that accesses external data.

How to undo the workaround

Run the following commands from a command prompt as an administrator:

For supported versions of Windows 2000, Windows XP, Windows Server 2003, Windows Vista, and Windows Server 2008 for 32-bit Systems

Regsvr32.exe "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

For supported versions of Windows XP Professional x64 Edition, Windows Server 2003 x64 Edition, Windows Vista x64 Edition, Windows Server 2008 for x64-based Systems, and Windows Server 2008 for Itanium-based Systems

Regsvr32.exe "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

Regsvr32.exe "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll"

Use ACL to disable OLEDB32.DLL

Run the following commands from a command prompt as an administrator:

For supported versions of Windows 2000, Windows XP, and Windows Server 2003

cacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll" /E /P everyone:N

For supported versions of Windows XP Professional x64 Edition, Windows Server 2003 x64 Edition, and Windows Server 2003 for Itanium-based Systems

cacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll" /E /P everyone:N

cacls "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll" /E /P everyone:N

For supported versions of Windows Vista and Windows Server 2008 for 32-bit Systems

takeown /f "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll" /save %TEMP%\oledb32.32.dll.TXT

icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll" /deny everyone:(F)

For supported versions of Windows Vista x64 Edition, Windows Server 2008 for x64-based Systems, and Windows Server 2008 for Itanium-based Systems

takeown /f "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll"

icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll" /save %TEMP%\oledb32.64.dll.TXT

icacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll" /deny everyone:(F)

takeown /f "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll"

icacls "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll" /save %TEMP%\oledb32.32.dll.TXT

icacls "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll" /deny everyone:(F)

Impact of workaround: All OLE DB and ADO applications will stop functioning. This includes all ASP/ADO implementations, SQL Server linked services, .Net applications using the System.Data.OLEDB namespace, and some Office functionality that accesses external data.

How to undo the workaround

Run the following commands from a command prompt as an administrator:

For supported versions of Windows 2000, Windows XP, and Windows Server 2003

cacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll" /E /R everyone

For supported versions of Windows XP Professional x64 Edition, Windows Server 2003 x64 Edition, and Windows Server 2003 for Itanium-based Systems

cacls "%ProgramFiles%\Common Files\System\Ole DB\oledb32.dll" /E /R everyone

cacls "%ProgramFiles(x86)%\Common Files\System\Ole DB\oledb32.dll" /E /R everyone

For supported versions of Windows Vista and Windows Server 2008 for 32-bit Systems:

icacls "%ProgramFiles%\Common Files\System\Ole DB" /restore %TEMP%\oledb32.32.dll.TXT

For supported versions of Windows Vista x64 Edition, Windows Server 2008 for x64-based Systems, and Windows Server 2008 for Itanium-based Systems

icacls "%ProgramFiles%\Common Files\System\Ole DB" /restore %TEMP%\oledb32.32.dll.TXT

icacls "%ProgramFiles(x86)%\Common Files\System\Ole DB" /restore %TEMP%\oledb32.64.dll.TXT

Enable DEP for Internet Explorer 7 on Windows Vista and on Windows Server 2008

Local Administrators can control DEP/NX by running Internet Explorer as an Administrator. To enable DEP, perform the following steps:

In Internet Explorer, click Tools, click Internet Options, and then click Advanced.

Click Enable memory protection to help mitigate online attacks.

Impact of workaround: Some browser extensions may not be compatible with DEP and may exit unexpectedly. If this occurs, you can disable the add-on, or revert the DEP setting using the Internet Control Panel. This is also accessible using the System Control panel.

Disable Data Binding support in Internet Explorer 8 Beta 2

Perform the following steps:

Set Internet and Local Intranet security zone settings to High.

Save the following to a file with a .REG extension, such as Disable_Data_Binding.reg to add the feature control key:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_DATABINDING_SUPPORT]
"iexplore.exe"=dword:00000000

Run Disable_Data_Binding.reg with the following command from an elevated command prompt:

Regedit.exe /s Disable_Data_Binding.reg

Impact of workaround: This workaround turns off data binding for all security zones. Any accessed Web sites that use data binding will no longer render properly.

How to undo the workaround

Use the following registry file to remove the feature control key:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_DATABINDING_SUPPORT]
Top of sectionTop of section

FAQ for Pointer Reference Memory Corruption Vulnerability - CVE-2008-4844

What is the scope of the vulnerability?
This is a remote code execution vulnerability. An attacker who successfully exploited this vulnerability could gain the same user rights as the logged-on user.

If a user is logged on with administrative user rights, 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. 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.

What causes the vulnerability?
The vulnerability exists as an invalid pointer reference in the data binding function of Internet Explorer. When data binding is enabled (which is the default state), it is possible under certain conditions for an object to be released without updating the array length, leaving the potential to access the deleted object's memory space. This can cause Internet Explorer to exit unexpectedly, in a state that is exploitable. As a result, memory may be corrupted in such a way that an attacker could execute arbitrary code in the context of the logged-on user.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited the remote code execution 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.

How could an attacker exploit the vulnerability?
An attacker could host a specially crafted Web site that is designed to exploit this vulnerability through Internet Explorer and then convince a user to view the Web site. The attacker could also take advantage of compromised Web sites and Web sites that accept or host user-provided content or advertisements. These Web sites 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 in an Instant Messenger message that takes users to the attacker's Web site. It could also be possible to display specially crafted Web content by using banner advertisements or by using other methods to deliver Web content to affected systems.

What systems are primarily at risk from the vulnerability?
This vulnerability requires that a user is logged on and reading e-mail messages or is visiting Web sites for any malicious action to occur. Therefore, any systems where e-mail messages are read or where Internet Explorer is used frequently, such as workstations or terminal servers, are at the most risk from this vulnerability. Servers could be at more risk if administrators allow users to browse and read e-mail on servers. However, best practices strongly discourage allowing this.

Which of the workarounds should I apply to my system in order to be protected?
Based on our investigation, setting the Internet zone security setting to High will protect users from known attacks. However, for the most effective protection, customers should evaluate a combination of using the High security setting in conjunction with one of the following workarounds.

Disable XML Island functionality

Restrict Internet Explorer from using OLEDB32.dll with an Integrity Level ACL

Disable Row Position functionality of OLEDB32.dll

Unregister OLEDB32.dll

Use ACL to disable OLEDB32.dll

For additional workaround details, please see the following post: .

Each of these workarounds is equally effective in protecting customers; however, each workaround has different impacts based on the environment in which they are applied. We encourage customers to evaluate which of the workarounds would be least impactful to their environment, based on the impact statements included with each workaround.

How does configuring the Internet zone security setting to High protect me from this vulnerability?
Setting the Internet zone security setting to High protects against all currently known exploits of this vulnerability by disabling scripting, disabling less secure features in Internet Explorer, and blocks known techniques used to bypass Data Execution Prevention (DEP). It is important to note that the vulnerable code may be reached even with these protections in place, however current attacks would not be successful with these workarounds in place.

How does Protected Mode in Internet Explorer 7 and Internet Explorer 8 Beta 2 on Windows Vista and later protect me from this vulnerability?
Internet Explorer 7 and Internet Explorer 8 Beta 2 in Windows Vista run in Protected Mode by default in the Internet security zone. (Protected Mode is off by default in the Intranet zone.) Protected Mode significantly reduces the ability of an attacker to write, alter, or destroy data on the user’s machine or to install malicious code. This is accomplished by using the integrity mechanisms of Windows Vista which restrict access to processes, files, and registry keys with higher integrity levels.

What is Data Execution Prevention (DEP)?
Data Execution Prevention (DEP) is included in Internet Explorer; disabled by default in Internet Explorer 7, and enabled by default in Internet Explorer 8 Beta 2. DEP is designed to help foil attacks by preventing code from running in memory that is marked non-executable. For more information about DEP in Internet Explorer, please see the following post: http://blogs.msdn.com/ie/archive/2008/04/08/ie8-security-part-I_3A00_-dep-nx-memory-protection.aspx. Recently, proof of concept code was published that demonstrates methods to bypass DEP. However, the workarounds included in this bulletin, of setting the security slider to High as well as applying one of the OLEDB32.dll workarounds, are still effective in blocking current attacks.

What does the update do?
The security update addresses the vulnerability by modifying the way Internet Explorer validates data binding parameters and handles the error resulting in the exploitable condition.

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-2008-4844.

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
Yes. When the security bulletin was released, Microsoft had received information that this vulnerability was being exploited.

Other Information
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.
Top of sectionTop of section
Support

Customers in the U.S. and Canada can receive technical support from Microsoft Product Support Services at 1-866-PCSAFETY. There is no charge for support calls that are associated with security updates.

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