Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:20341
HistoryAug 12, 2008 - 12:00 a.m.

Microsoft Security Bulletin MS08-049 – Important Vulnerabilities in Event System Could Allow Remote Code Execution (950974)

2008-08-1200:00:00
vulners.com
16

Microsoft Security Bulletin MS08-049 – Important
Vulnerabilities in Event System Could Allow Remote Code Execution (950974)
Published: August 12, 2008

Version: 1.0
General Information
Executive Summary

This update resolves two privately reported vulnerabilities in Microsoft Windows Event System that could allow remote code execution. 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 administrative rights.

This security update is rated Important for all supported editions of Windows 2000, 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.

The security update addresses the vulnerabilities by changing the way that Event System handles per-user subscriptions. For more information about these vulnerabilities, 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 at the earliest opportunity.

Known Issues. Microsoft Knowledge Base Article 950974 documents the currently known issues that customers may experience when installing this security update. The article also documents recommended solutions for these issues. For more information about installing these updates, see the Frequently Asked Questions (FAQ) Related to This Security Update subsection, in this section.
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

Important

None

Windows XP Service Pack 2 and Windows XP Service Pack 3

Remote Code Execution

Important

None

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

Remote Code Execution

Important

None

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

Remote Code Execution

Important

None

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

Remote Code Execution

Important

None

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

Remote Code Execution

Important

None

Windows Vista and Windows Vista Service Pack 1

Remote Code Execution

Important

None

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

Remote Code Execution

Important

None

Windows Server 2008 for 32-bit Systems*

Remote Code Execution

Important

None

Windows Server 2008 for x64-based Systems*

Remote Code Execution

Important

None

Windows Server 2008 for Itanium-based Systems

Remote Code Execution

Important

None

*Windows Server 2008 server core installation affected. For supported editions of Windows Server 2008, this update applies, with the same severity rating, whether or not Windows Server 2008 was installed using the Server Core installation option. For more information on this installation option, see Server Core. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008; see Compare Server Core Installation Options.
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

Are there any prerequisites for installing the update offered in this bulletin on Windows Vista RTM systems?
Yes, the updates that were offered in Microsoft Security Bulletin MS08-008 or the updates offered in Microsoft Knowledge Base Article 938371 must be installed prior to installing the updates offered in this bulletin for Windows Vista RTM systems. These updates are required as prerequisites in order to improve the installation reliability of this update for Windows Vista RTM systems. Windows Vista Service Pack 1 systems and all other systems identified in the Affected Software table are not similarly impacted and do not have the prerequisites defined in this FAQ entry.

I am using an older version 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 versions or editions are affected. Other versions or editions are past their support life cycle. To determine the support life cycle for your software version or edition, visit Microsoft Support Lifecycle.

It should be a priority for customers who have older versions or editions of the software to migrate to supported versions or editions 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 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 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 Event System Vulnerability - CVE-2008-1457 Event System Vulnerability - CVE-2008-1456 Aggregate Severity Rating

Microsoft Windows 2000 Service Pack 4

Important
Remote Code Execution

Important
Remote Code Execution

Important

Windows XP Service Pack 2 and Windows XP Service Pack 3

Important
Remote Code Execution

Important
Remote Code Execution

Important

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

Important
Remote Code Execution

Important
Remote Code Execution

Important

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

Important
Remote Code Execution

Important
Remote Code Execution

Important

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

Important
Remote Code Execution

Important
Remote Code Execution

Important

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

Important
Remote Code Execution

Important
Remote Code Execution

Important

Windows Vista and Windows Vista Service Pack 1

Important
Remote Code Execution

Important
Remote Code Execution

Important

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

Important
Remote Code Execution

Important
Remote Code Execution

Important

Windows Server 2008 for 32-bit Systems*

Important
Remote Code Execution

Important
Remote Code Execution

Important

Windows Server 2008 for x64-based Systems*

Important
Remote Code Execution

Important
Remote Code Execution

Important

*Windows Server 2008 server core installation affected. For supported editions of Windows Server 2008, this update applies, with the same severity rating, whether or not Windows Server 2008 was installed using the Server Core installation option. For more information on this installation option, see Server Core. Note that the Server Core installation option does not apply to certain editions of Windows Server 2008; see Compare Server Core Installation Options.
Top of sectionTop of section

Event System Vulnerability - CVE-2008-1457

A remote code execution vulnerability exists because the Microsoft Windows Event System does not correctly validate user subscriptions requests when created. The vulnerability could allow remote code execution. 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 administrative rights.

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

Mitigating Factors for Event System Vulnerability - CVE-2008-1457

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 must have valid logon credentials to the vulnerable system to exploit this vulnerability.
Top of sectionTop of section

Workarounds for Event System Vulnerability - CVE-2008-1457

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:

Unregister es.dll

Perform the following steps:

Log on as a user with administrative privileges.

Click Start, click Run, type cmd, and then click OK.

Type the following command at the command prompt:

regsvr32 /-u %WINDIR%\SYSTEM32\es.dll

Impact of workaround: Event System will not run.

How to undo the workaround. Re-register es.dll. Type the following command at the command prompt:

regsvr 32 %WINDIR%\SYSTEM32\es.dll

Stop and disable the System Event Notification and COM+ Event System services

Disabling these services helps protect affected systems from attempts to exploit this vulnerability.

Interactively

Perform the following steps:

Click Start, and then click Control Panel. Alternatively, point to Settings, and then click Control Panel.

Double-click Administrative Tools. Alternatively, click Switch to Classic View and then double-click Administrative Tools.

Double-click Services.

Double-click System Event Notification.

In the Startup type list, click Disabled.

Click Stop, and then click OK.

You can also stop and disable the System Event Notification service by using the following command at the command prompt (available in Windows XP and in the Microsoft Windows 2000 Resource Kit):

sc stop sens & sc config sens start= disabled

Then repeat the above steps for COM+ Event System.

You can also stop and disable the COM+ Event System service by using the following command at the command prompt (available in Windows XP and in the Microsoft Windows 2000 Resource Kit):

sc stop eventsystem & sc config eventsystem start= disabled

By Group Policy:

Disable these services by using the Group Policy settings. You can disable the startup of this service at either the local, site, domain, or organizational-unit level by using Group Policy object functionality in Microsoft Windows 2000 domain environments or in Windows Server 2003 domain environments.

Note: You may also review the Windows Server 2003 Security Guide. This guide includes information about how to disable services.

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

Impact of workaround. Programs that require these services will not run.

How to undo the workaround: Use the steps above to set the Startup Type to Automatic and start the service.

Modify the Access Control List on es.dll

To modify the Access Control List (ACL) on es.dll to be more restrictive, follow these steps:

Log on as a user with administrator privileges.

Click Start, click Run, type cmd, and then click OK.

Document the current ACLs that are on the file (including inheritance settings) for future reference in case you have to undo this modification. To view the ACLs, type the following:

cacls %WINDIR%\SYSTEM32\es.DLL

To deny the "everyone" group access to the file, type the following command at the command prompt:

echo y| cacls %WINDIR%\SYSTEM32\es.DLL /E /P everyone:N

Impact of workaround: Programs that require Event System will not run.

How to undo the workaround: Type the following command at the command prompt:

echo y| cacls %WINDIR%\SYSTEM32\es.DLL /E /R everyone

To modify the Access Control List (ACL) on es.dll to be less restrictive, follow these steps:

Log on as a user with administrator privileges.

Click Start, click Run, type cmd, and then click OK.

Document the current ACLs that are on the file (including inheritance settings) for future reference in case you have to undo this modification. To view the ACLs, type the following:

cacls %WINDIR%\SYSTEM32\es.DLL

To allow the "everyone" group access to the file, type the following command at a command prompt:

takeown.exe /f %WINDIR%\SYSTEM32\es.DLL
icacls.exe %WINDIR%\SYSTEM32\es.DLL /save %TEMP%\es_ACL.TXT
icacls.exe %WINDIR%\SYSTEM32\es.DLL /allow everyone:(F)
Top of sectionTop of section

FAQ for Event System Vulnerability - CVE-2008-1457

What is the scope of the vulnerability?
A remote code execution vulnerability exists in the Microsoft Windows Event System. 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 administrative rights.

What causes the vulnerability?
Microsoft Windows Event System does not handle per-user subscriptions correctly, which could allow arbitrary code to be run in the context of the local system.

What is Microsoft Windows Event System?
Microsoft Windows Event System is a service that manages method calls and event subscriptions between Windows and applications on the system.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could gain complete control over the affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full administrative rights.

How could an attacker exploit the vulnerability?
To exploit this vulnerability, an attacker would need to have valid domain credentials. An attacker could then send a specially crafted event subscription request to Microsoft Windows Event System, allowing the attacker to run code under system privilege and gain complete control over the affected system.

What systems are primarily at risk from the vulnerability?
All systems running affected versions of Microsoft Windows Event System are at risk from this vulnerability.

What does the update do?
The update removes the vulnerability by changing how Microsoft Windows Event System handles per-user subscriptions, such that subscriptions will not run code in the security context of an event publisher.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through responsible disclosure.

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

Event System Vulnerability - CVE-2008-1456

A remote code execution vulnerability exists because the Microsoft Windows Event System does not correctly validate the range of indexes when calling an array of function pointers. The vulnerability could allow remote code execution. 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 administrative rights.

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

Mitigating Factors for Event System Vulnerability - CVE-2008-1456

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 must have valid logon credentials to the vulnerable system to exploit this vulnerability.
Top of sectionTop of section

Workarounds for Event System Vulnerability - CVE-2008-1456

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:

Unregister es.dll

Perform the following steps:

Log on as a user with administrative privileges.

Click Start, click Run, type cmd, and then click OK.

Type the following command at the command prompt:
regsvr32 /-u %WINDIR%\SYSTEM32\es.dll

Impact of workaround: Event System will not run.

How to undo the workaround. Re-register es.dll. Type the following command at the command prompt:

regsvr 32 %WINDIR%\SYSTEM32\es.dll

Stop and disable the System Event Notification and COM+ Event System services

Disabling these services helps protect affected systems from attempts to exploit this vulnerability.

Interactively

Perform the following steps:

Click Start, and then click Control Panel. Alternatively, point to Settings, and then click Control Panel.

Double-click Administrative Tools. Alternatively, click Switch to Classic View and then double-click Administrative Tools.

Double-click Services.

Double-click System Event Notification.

In the Startup type list, click Disabled.

Click Stop, and then click OK.

You can also stop and disable the System Event Notification service by using the following command at the command prompt (available in Windows XP and in the Microsoft Windows 2000 Resource Kit):

sc stop sens & sc config sens start= disabled

Then repeat the above steps for COM+ Event System.

You can also stop and disable the COM+ Event System service by using the following command at the command prompt (available in Windows XP and in the Microsoft Windows 2000 Resource Kit):

sc stop eventsystem & sc config eventsystem start= disabled

By Group Policy:

Disable these services by using the Group Policy settings. You can disable the startup of this service at either the local, site, domain, or organizational-unit level by using Group Policy object functionality in Microsoft Windows 2000 domain environments or in Windows Server 2003 domain environments.

Note: You may also review the Windows Server 2003 Security Guide. This guide includes information about how to disable services.

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

Impact of workaround. Programs that require these services will not run.

How to undo the workaround: Use the steps above to set the Startup Type to Automatic and start the service.

Modify the Access Control List on es.dll

To modify the Access Control List (ACL) on es.dll to be more restrictive, follow these steps:

Log on as a user with administrator privileges.

Click Start, click Run, type cmd, and then click OK.

Document the current ACLs that are on the file (including inheritance settings) for future reference in case you have to undo this modification. To view the ACLs, type the following:

cacls %WINDIR%\SYSTEM32\es.DLL

To deny the "everyone" group access to the file, type the following command at the command prompt:

echo y| cacls %WINDIR%\SYSTEM32\es.DLL /E /P everyone:N

Impact of workaround: Programs that require Event System will not run.

How to undo the workaround: Type the following command at the command prompt:

echo y| cacls %WINDIR%\SYSTEM32\es.DLL /E /R everyone

To modify the Access Control List (ACL) on es.dll to be less restrictive, follow these steps:

Log on as a user with administrator privileges.

Click Start, click Run, type cmd, and then click OK.

Document the current ACLs that are on the file (including inheritance settings) for future reference in case you have to undo this modification. To view the ACLs, type the following:

cacls %WINDIR%\SYSTEM32\es.DLL

To allow the "everyone" group access to the file, type the following command at a command prompt:

takeown.exe /f %WINDIR%\SYSTEM32\es.DLL
icacls.exe %WINDIR%\SYSTEM32\es.DLL /save %TEMP%\es_ACL.TXT
icacls.exe %WINDIR%\SYSTEM32\es.DLL /allow everyone:(F)
Top of sectionTop of section

FAQ for Event System Vulnerability - CVE-2008-1456

What is the scope of the vulnerability?
A remote code execution vulnerability exists in Microsoft Windows Event System. 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 administrative rights.

What causes the vulnerability?
Microsoft Windows Event System uses a method parameter as an index into a static array of function pointers. The range of indexes are not correctly validated, which could allow arbitrary code to be run in the context of the local system.

What is Microsoft Windows Event System?
Microsoft Windows Event System is a service that manages method calls and event subscriptions between Windows and applications on the system.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could gain complete control over the affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full administrative rights.

How could an attacker exploit the vulnerability?
To exploit this vulnerability, an attacker would need to have valid domain credentials. The attacker would then have to call the Microsoft Windows Event System and supply a specifically crafted request beyond the bounds of the array. By finding a pointer to a predictable location relative to the array, an attacker could then run code with elevated privileges and take complete control over the affected system.

What systems are primarily at risk from the vulnerability?
All systems running affected versions of Microsoft Windows Event System are at risk from this vulnerability.

What does the update do?
The update removes the vulnerability by changing how Microsoft Windows Event System validates index ranges, such that subscriptions will not run code in the security context of an event publisher.

When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through responsible disclosure.

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:

Yamata Li of Palo Alto Networks for reporting the Microsoft Event System Vulnerability (CVE-2008-1456)
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 (August 12, 2008): Bulletin published.