Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:21655
HistoryApr 14, 2009 - 12:00 a.m.

Microsoft Security Bulletin MS09-012 - Important Vulnerabilities in Windows Could Allow Elevation of Privilege (959454)

2009-04-1400:00:00
vulners.com
20

Microsoft Security Bulletin MS09-012 - Important
Vulnerabilities in Windows Could Allow Elevation of Privilege (959454)
Published: April 14, 2009

Version: 1.0
General Information
Executive Summary

This security update resolves four publicly disclosed vulnerabilities in Microsoft Windows. The vulnerabilities could allow elevation of privilege if an attacker is allowed to log on to the system and then run a specially crafted application. The attacker must be able to run code on the local machine in order to exploit this vulnerability. An attacker who successfully exploited any of these vulnerabilities could take complete control over the affected system.

This security update is rated Important for all supported editions of Microsoft 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 correcting the way that Microsoft Windows addresses tokens requested by the Microsoft Distributed Transaction Coordinator (MSDTC), and by properly isolating WMI providers and processes that run under the NetworkService or LocalService accounts. For more information about the vulnerabilities, see the Frequently Asked Questions (FAQ) subsection for the specific vulnerability entry under the next section, Vulnerability Information.

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

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

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

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

Known Issues. Microsoft Knowledge Base Article 959454 documents the currently known issues that customers may experience when installing this security update. The article also documents recommended solutions for these issues.
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
MSDTC Transaction Facility update Windows Service Isolation update Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by this Update

Microsoft Windows 2000 Service Pack 4
(KB952004)

Not applicable

Elevation of Privilege

Important

None

Windows XP Service Pack 2 and Windows XP Service Pack 3
(KB952004)

See rows below

Elevation of Privilege

Important

None

See row above

Windows XP Service Pack 2
(KB956572)

Elevation of Privilege

Important

MS07-022,
MS08-002,
MS08-064

See row above

Windows XP Service Pack 3
(KB956572)

Elevation of Privilege

Important

MS08-064

Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2
(KB952004)

See row below

Elevation of Privilege

Important

None

See row above

Windows XP Professional x64 Edition and Windows XP Professional x64 Edition Service Pack 2
(KB956572)

Elevation of Privilege

Important

MS08-002,
MS08-064

Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2
(KB952004)

See row below

Elevation of Privilege

Important

None

See row above

Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2
(KB956572)

Elevation of Privilege

Important

MS07-022,
MS08-002,
MS08-064

Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2
(KB952004)

See row below

Elevation of Privilege

Important

None

See row above

Windows Server 2003 x64 Edition and Windows Server 2003 x64 Edition Service Pack 2
(KB956572)

Elevation of Privilege

Important

MS08-002,
MS08-064

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

See row below

Elevation of Privilege

Important

None

See row above

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

Elevation of Privilege

Important

MS08-002,
MS08-064

Windows Vista and Windows Vista Service Pack 1
(KB952004)

See rows below

Elevation of Privilege

Important

None

See row above

Windows Vista
(KB956572)

Elevation of Privilege

Important

MS08-064

See row above

Windows Vista Service Pack 1
(KB956572)

Elevation of Privilege

Important

MS08-064

Windows Vista x64 Edition and Windows Vista x64 Edition Service Pack 1
(KB952004)

See rows below

Elevation of Privilege

Important

None

See row above

Windows Vista x64 Edition
(KB956572)

Elevation of Privilege

Important

MS08-064

See row above

Windows Vista x64 Edition Service Pack 1
(KB956572)

Elevation of Privilege

Important

MS08-064

Windows Server 2008 for 32-bit Systems*
(KB952004)

See row below

Elevation of Privilege

Important

None

See row above

Windows Server 2008 for 32-bit Systems*
(KB956572)

Elevation of Privilege

Important

MS08-064

Windows Server 2008 for x64-based Systems*
(KB952004)

See row below

Elevation of Privilege

Important

None

See row above

Windows Server 2008 for x64-based Systems*
(KB956572)

Elevation of Privilege

Important

MS08-064

Windows Server 2008 for Itanium-based Systems
(KB952004)

See row below

Elevation of Privilege

Important

None

See row above

Windows Server 2008 for Itanium-based Systems
(KB956572)

Elevation of Privilege

Important

MS08-064

*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

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

What are the known issues that customers may experience when installing this security update?
Microsoft Knowledge Base Article 959454 documents the currently known issues that customers may experience when they install this security update. The article also documents recommended solutions for these issues.

Why does this bulletin contain two updates for each affected operating system?
This bulletin contains two updates, identified by KB number, for all affected operating systems. Customers of Microsoft Windows 2000 only need to apply update package KB952004. Customers running other affected operating systems need to apply security update packages KB952004 and KB956572 for each operating system as applies in their environment.

The two updates are necessary for most affected operating systems because the modifications that are required to address the vulnerabilities are located in separate components. KB952004 addresses the publicly known issue in the MSDTC transaction facility. KB956572 provides the architectural changes needed to ensure proper service isolation across other services on Windows platforms.

Why does this update address several reported security vulnerabilities?
This update contains support for several vulnerabilities because the modifications that are required to address these issues are located in related files. Instead of having to install several updates that are almost the same, customers need to install this update only.

Does this update contain any security-related changes to functionality?
Yes. Besides the changes that are listed in the Vulnerability Information section of this bulletin, this security update also provides an infrastructure to isolate and secure services. In Windows XP and Windows Server 2003, all processes running under the context of a single account will have full control over each other. This update provides third parties the ability to isolate and secure their services that hold SYSTEM tokens and run under the NetworkService or LocalService accounts. For more information on the usage of this registry key, see Microsoft Knowledge Base Article 956572.

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

The following severity ratings assume the potential maximum impact of the vulnerability. For information regarding the likelihood, within 30 days of this security bulletin's release, of the exploitability of the vulnerability in relation to its severity rating and security impact, please see the Exploitability Index in the April bulletin summary. For more information, see Microsoft Exploitability Index.
Vulnerability Severity Rating and Maximum Security Impact by Affected Software
Affected Software Windows MSDTC Service Isolation Vulnerability - CVE-2008-1436 Windows WMI Service Isolation Vulnerability - CVE-2009-0078 Windows RPCSS Service Isolation Vulnerability - CVE-2009-0079 Windows Thread Pool ACL Weakness Vulnerability - CVE-2009-0080 Aggregate Severity Rating

Microsoft Windows 2000 Service Pack 4

Important
Elevation of Privilege

Not applicable

Not applicable

Not applicable

Important

Windows XP Service Pack 2 and Windows XP Service Pack 3

Important
Elevation of Privilege

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important

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

Important
Elevation of Privilege

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important

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

Important
Elevation of Privilege

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important

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

Important
Elevation of Privilege

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important

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

Important
Elevation of Privilege

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important

Windows Vista and Windows Vista Service Pack 1

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important
Elevation of Privilege

Important

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

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important
Elevation of Privilege

Important

Windows Server 2008 for 32-bit Systems*

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important
Elevation of Privilege

Important

Windows Server 2008 for x64-based Systems*

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important
Elevation of Privilege

Important

Windows Server 2008 for Itanium-based Systems

Important
Elevation of Privilege

Important
Elevation of Privilege

Not applicable

Important
Elevation of Privilege

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

Windows MSDTC Service Isolation Vulnerability - CVE-2008-1436

An elevation of privilege vulnerability exists in the Microsoft Distributed Transaction Coordinator (MSDTC) transaction facility in Microsoft Windows platforms. MSDTC leaves a NetworkService token that can be impersonated by any process that calls into it. The vulnerability allows a process that is not running under the NetworkService account, but that has the SeImpersonatePrivilege, to elevate its privilege to NetworkService and execute code with NetworkService privileges. An attacker who successfully exploited this vulnerability could execute arbitrary code and take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

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

Mitigating Factors for Windows MSDTC Service Isolation Vulnerability - CVE-2008-1436

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:

The attacker must be able to run code on the local machine to exploit this vulnerability.
Top of sectionTop of section

Workarounds for Windows MSDTC Service Isolation Vulnerability - CVE-2008-1436

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:

IIS 6.0 - Configure a Worker Process Identity (WPI) for an application pool in IIS to use a created account in IIS Manager and disable MSDTC

Perform the following steps:

In IIS Manager, expand the local computer, expand Application Pools, right-click the application pool and select Properties.

Click the Identity tab and click Configurable. In the User name and Password boxes, type the user name and password of the account under which you want the worker process to operate.

Add the chosen user account to the IIS_WPG group.

Disabling the Distributed Transaction Coordinator will help protect the affected system from attempts to exploit this vulnerability. To disable the Distributed Transaction Coordinator, perform these 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 Distributed Transaction Coordinator.

In the Startup type list, click Disabled.

Click Stop (if started), and then click OK.

You can also stop and disable the MSDTC service by using the following command at the command prompt:

sc stop MSDTC & sc config MSDTC start= disabled

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected. An example is Windows Authentication; see Microsoft Knowledge Base Article 871179. Disabling MSDTC will prevent applications from using distributed transactions. Disabling MSDTC will prevent IIS 5.1 from running in Windows XP Professional Service Pack 2 and Windows XP Professional Service Pack 3, and IIS 6.0 running in IIS 5.0 compatibility mode. Disabling MSDTC will prevent configuration as well as running of COM+ applications.

IIS 7.0 - Specify a WPI for an application pool in IIS Manager

In IIS Manager, expand the server node, click Application Pools, right-click the application pool, and then click Advanced Settings…

Find the Identity entry, and click the … button to open the Application Pool Identity dialog box.

Select the Custom account option and click Set to open the Set Credentials dialog box. Type in the selected Account name and Password in the user name and password text boxes. Retype the Password in the Confirm password text box, then click OK.

Note Application pool identities are dynamically added to IIS_WPG group in IIS7 and don’t need to be manually added.

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected.

IIS 7.0 - Specify a WPI for an application pool using the Command Line utility, APPCMD.exe

From an elevated command prompt, change to the %systemroot%\system32\inetsrv directory.

Execute the APPCMD.exe command using the following syntax where string is the name of the application pool; userName:string is the user name of the account assigned to the application pool; and password:string is the password for the account.

appcmd set config /section:applicationPools /
[name='string'].processModel.identityType:SpecificUser /
[name='string'].processModel.userName:string /
[name='string'].processModel.password:string

Note Application pool identities are dynamically added to IIS_WPG group in IIS 7.0 and do not need to be manually added.

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected.
Top of sectionTop of section

FAQ for Windows MSDTC Service Isolation Vulnerability - CVE-2008-1436

What is the scope of the vulnerability?
This is an elevation of privilege vulnerability. An attacker who successfully exploited this vulnerability could execute arbitrary code with NetworkService privileges. An attacker could then obtain the LocalSystem token from other vulnerable services and install programs; view, change, or delete data; or create new accounts with full user rights.

What causes the vulnerability?
The vulnerability is due to the Microsoft Distributed Transaction Coordinator (MSDTC) transaction facility allowing the NetworkService token to be obtained and used when making an RPC call.

What is the Microsoft Distributed Transaction Coordinator?
The Microsoft Distributed Transaction Coordinator (MSDTC) is a distributed transaction facility for Microsoft Windows platforms. MSDTC uses proven transaction processing technology. It is robust despite system failures, process failures, and communication failures; it exploits loosely coupled systems to provide scalable performance; and it is easy to install, configure, and manage.

For more information about MSDTC, see the MSDN article, DTC Developers Guide.

What is RPC?
Remote Procedure Call (RPC) is a protocol that a program can use to request a service from a program located on another computer in a network. RPC helps with interoperability because the program using RPC does not have to understand the network protocols that are supporting communication. In RPC, the requesting program is the client and the service-providing program is the server.

What is the NetworkService Account?
The NetworkService account is a predefined local account used by the service control manager. It has minimum privileges on the local computer and acts as the computer on the network. A service that runs in the context of the NetworkService account presents the computer's credentials to remote servers. For more information, see the MSDN article, NetworkService Account.

What is the LocalService Account?
The LocalService account is a predefined local account used by the service control manager. It has minimum privileges on the local computer and presents anonymous credentials on the network. For information, see the MSDN article, LocalService Account.

What is the LocalSystem Account?
The LocalSystem account is a predefined local account used by the service control manager. It has extensive privileges on the local computer, and acts as the computer on the network. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs; these accounts have access to most system objects. A service that runs in the context of the LocalSystem account inherits the security context of the Service Control Manager. Most services do not need such a high privilege level. For more information, see the MSDN article, LocalSystem Account.

How is IIS affected by this issue?
Systems running user-provided code in Internet Information Services (IIS) may be affected. For example ISAPI filters and extensions, and ASP.NET code running in full trust may be affected by this vulnerability.

IIS is not affected in the following scenarios:

Default Installations of IIS 5.1, IIS 6.0, and IIS 7.0

ASP.NET configured to run with a trust level lower than Full Trust

How is SQL Server affected by this issue?
Systems running SQL Server may be affected if a user is granted administrative privileges to load and run code. A user with SQL Server administrator privileges could execute specially crafted code that could leverage the attack. However, this privilege is not granted by default.

What additional applications may be affected by this vulnerability?
Systems running any process with SeImpersonatePrivilege that loads and runs user-provided code may be susceptible to an elevation of privilege attack as described in this security bulletin. The SeImpersonatePrivilege setting is described in Microsoft Knowledge Base Article 821546.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could run specially crafted code in the context of the NetworkService account. 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?
To exploit this vulnerability, an attacker would first have to log on to the system. An attacker could then run a specially crafted application that could exploit the vulnerability and take complete control over the affected system.

What systems are primarily at risk from the vulnerability?
Workstations and terminal servers are primarily at risk. Servers could be at more risk if users who do not have administrative permissions are given the ability to log on to servers and to run programs. However, best practices strongly discourage allowing this.

All systems running all supported editions of Windows XP Professional Service Pack 2 and Windows XP Professional Service Pack 3, and all supported versions and editions of Windows Server 2003, Windows Vista, and Windows Server 2008 may be at risk if IIS is enabled or SQL Server is installed and configured or deployed in a vulnerable state as described in this bulletin.

In addition, IIS systems that allow users to upload code are at increased risk. SQL Server systems are at risk if untrusted users are granted privileged account access. This may include Web hosting providers or similar environments.

What does the update do?
The update addresses the vulnerability by reducing the privilege level on the token requested by MSDTC.

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

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
Yes. Microsoft is aware of limited, targeted attacks attempting to exploit the vulnerability.

Does applying this security update help protect customers from the code, published publicly, that attempts to exploit this vulnerability?
Yes. This security update addresses the vulnerability that is currently being exploited. The vulnerability that has been addressed has been assigned the Common Vulnerability and Exposure number CVE-2008-1436.
Top of sectionTop of section
Top of sectionTop of section

Windows WMI Service Isolation Vulnerability - CVE-2009-0078

An elevation of privilege vulnerability exists due to the Windows Management Instrumentation (WMI) provider improperly isolating processes that run under the NetworkService or LocalService accounts. The vulnerability could allow an attacker to run code with elevated privileges. An attacker who successfully exploited this vulnerability could execute arbitrary code and take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

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

Mitigating Factors for Windows WMI Service Isolation Vulnerability - CVE-2009-0078

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:

The attacker must be able to run code on the local machine to exploit this vulnerability.
Top of sectionTop of section

Workarounds for Windows WMI Service Isolation Vulnerability - CVE-2009-0078

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:

IIS 6.0 - Configure a Worker Process Identity (WPI) for an application pool in IIS to use a created account in IIS Manager and disable MSDTC

Perform the following steps:

In IIS Manager, expand the local computer, expand Application Pools, right-click the application pool and select Properties.

Click the Identity tab and click Configurable. In the User name and Password boxes, type the user name and password of the account under which you want the worker process to operate.

Add the chosen user account to the IIS_WPG group.

Disabling the Distributed Transaction Coordinator will help protect the affected system from attempts to exploit this vulnerability. To disable the Distributed Transaction Coordinator, perform these 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 Distributed Transaction Coordinator.

In the Startup type list, click Disabled.

Click Stop (if started), and then click OK.

You can also stop and disable the MSDTC service by using the following command at the command prompt:

sc stop MSDTC & sc config MSDTC start= disabled

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected. An example is Windows Authentication; see Microsoft Knowledge Base Article 871179. Disabling MSDTC will prevent applications from using distributed transactions. Disabling MSDTC will prevent IIS 5.1 from running in Windows XP Professional Service Pack 2 and Windows XP Professional Service Pack 3, and IIS 6.0 running in IIS 5.0 compatibility mode. Disabling MSDTC will prevent configuration as well as running of COM+ applications.

IIS 7.0 - Specify a WPI for an application pool in IIS Manager

In IIS Manager, expand the server node, click Application Pools, right-click the application pool, and then click Advanced Settings…

Find the Identity entry, and click the … button to open the Application Pool Identity dialog box.

Select the Custom account option and click Set to open the Set Credentials dialog box. Type in the selected Account name and Password in the user name and password text boxes. Retype the Password in the Confirm password text box, then click OK.

Note Application pool identities are dynamically added to IIS_WPG group in IIS7 and don’t need to be manually added.

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected.

IIS 7.0 - Specify a WPI for an application pool using the Command Line utility APPCMD.exe

From an elevated command prompt, change to the %systemroot%\system32\inetsrv directory.

Execute the APPCMD.exe command using the following syntax where string is the name of the application pool; userName:string is the user name of the account assigned to the application pool; and password:string is the password for the account.

appcmd set config /section:applicationPools /
[name='string'].processModel.identityType:SpecificUser /
[name='string'].processModel.userName:string /
[name='string'].processModel.password:string

Note Application pool identities are dynamically added to IIS_WPG group in IIS 7.0 and do not need to be manually added.

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected.
Top of sectionTop of section

FAQ for Windows WMI Service Isolation Vulnerability - CVE-2009-0078

What is the scope of the vulnerability?
This is an elevation of privilege vulnerability. An attacker who successfully exploited this vulnerability could execute arbitrary code with the same privileges as the LocalSystem account. 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 due to Windows Management Instrumentation (WMI) provider improperly isolating processes that run under the NetworkService or LocalService accounts. Two separate processes running under same account have full access to each other’s resources such as file handle, registry keys, handles,and so on. The WMI provider host process holds SYSTEM Tokens in certain scenarios. If an attacker gains access to a computer under the context of a NetworkService or LocalService account, the attacker can execute code to probe the WMI provider host processes for SYSTEM tokens. Once a SYSTEM token is found, the attacker's code can use it to gain SYSTEM level privileges.

What is the Windows Management Instrumentation (WMI)?
Windows Management Instrumentation (WMI) is the primary management technology for Microsoft Windows operating systems. It enables consistent and uniform management, control, and monitoring of systems throughout your enterprise. WMI allows system administrators to query, change, and monitor configuration settings on desktop and server systems, applications, networks, and other enterprise components. For more information, see WMI Scripting Primer.

What is the NetworkService Account?
The NetworkService account is a predefined local account used by the service control manager. It has minimum privileges on the local computer and acts as the computer on the network. A service that runs in the context of the NetworkService account presents the computer's credentials to remote servers. For more information, see the MSDN article, Network Service Account.

What is the LocalService Account?
The LocalService account is a predefined local account used by the service control manager. It has minimum privileges on the local computer and presents anonymous credentials on the network. For information, see the MSDN article, LocalService Account.

What is the LocalSystem Account?
The LocalSystem account is a predefined local account used by the service control manager. It has extensive privileges on the local computer, and acts as the computer on the network. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs; these accounts have access to most system objects. A service that runs in the context of the LocalSystem account inherits the security context of the Service Control Manager. Most services do not need such a high privilege level. For more information, see the MSDN article, LocalSystem Account.

How is IIS affected by this issue?
Systems running user-provided code in Internet Information Services (IIS) may be affected. For example ISAPI filters and extensions, and ASP.NET code running in full trust may be affected by this vulnerability.

IIS is not affected in the following scenarios:

Default Installations of IIS 5.1, IIS 6.0, and IIS 7.0

ASP.NET configured to run with a trust level lower than Full Trust

How is SQL Server affected by this issue?
Systems running SQL Server may be affected if a user is granted administrative privileges to load and run code. A user with SQL Server administrator privileges could execute specially crafted code that could leverage the attack. However, this privilege is not granted by default.

Which WMI providers are impacted by this update?
A complete list of WMI providers impacted by this can update can be found in Microsoft Knowledge Base Article 956572.

What additional applications may be affected by this vulnerability?
Systems running any process with SeImpersonatePrivilege that loads and runs user-provided code may be susceptible to an elevation of privilege attack as described in this security bulletin. The SeImpersonatePrivilege setting is described in Microsoft Knowledge Base Article 821546.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could run specially crafted code in the context of the NetworkService or LocalService accounts that could gain access to resources in processes that are also running as NetworkService or LocalService. Some of these processes may have the ability to elevate their privileges to LocalSystem, allowing any NetworkService or LocalService processes to elevate their privileges to LocalSystem as well. 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?
To exploit this vulnerability, an attacker would first have to convince a logged-on user to execute code on their system. An attacker could then run a specially crafted application that could exploit the vulnerability and take complete control over the affected system.

What systems are primarily at risk from the vulnerability?
Workstations and terminal servers are primarily at risk. Servers could be at more risk if users who do not have sufficient administrative permissions are given the ability to log on to servers and to run programs. However, best practices strongly discourage allowing this.

All systems running Windows XP Professional Service Pack 2, Windows XP Professional Service Pack 3, and all supported versions and editions of Windows Server 2003, Windows Vista, and Windows Server 2008 may be at risk if IIS is enabled or SQL Server is installed and configured or deployed in a vulnerable state as described by this bulletin.

In addition, IIS systems that allow users to upload code are at increased risk. SQL Server systems are at risk if untrusted users are granted privileged account access. This may include Web hosting providers or similar environments.

What does the update do?
The update addresses the vulnerability by properly isolating WMI providers to ensure they are invoked in a secure manner.

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

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
Yes. Microsoft is aware of limited, targeted attacks attempting to exploit the vulnerability.
Top of sectionTop of section
Top of sectionTop of section

Windows RPCSS Service Isolation Vulnerability - CVE-2009-0079

An elevation of privilege vulnerability exists due to the RPCSS service improperly isolating processes that run under the NetworkService or LocalService accounts. The vulnerability could allow an attacker to run code with elevated privileges. An attacker who successfully exploited this vulnerability could execute arbitrary code and take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

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

Mitigating Factors for Windows RPCSS Service Isolation Vulnerability - CVE-2009-0079

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:

The attacker must be able to run code on the local machine to exploit this vulnerability.
Top of sectionTop of section

Workarounds for Windows RPCSS Service Isolation Vulnerability - CVE-2009-0079

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:

IIS 6.0 - Configure a Worker Process Identity (WPI) for an application pool in IIS to use a created account in IIS Manager and disable MSDTC

Perform the following steps:

In IIS Manager, expand the local computer, expand Application Pools, right-click the application pool and select Properties.

Click the Identity tab and click Configurable. In the User name and Password boxes, type the user name and password of the account under which you want the worker process to operate.

Add the chosen user account to the IIS_WPG group.

Disabling the Distributed Transaction Coordinator will help protect the affected system from attempts to exploit this vulnerability. To disable the Distributed Transaction Coordinator, perform these 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 Distributed Transaction Coordinator.

In the Startup type list, click Disabled.

Click Stop (if started), and then click OK.

You can also stop and disable the MSDTC service by using the following command at the command prompt:

sc stop MSDTC & sc config MSDTC start= disabled

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected. An example is Windows Authentication; see Microsoft Knowledge Base Article 871179. Disabling MSDTC will prevent applications from using distributed transactions. Disabling MSDTC will prevent IIS 5.1 from running in Windows XP Professional Service Pack 2 and Windows XP Professional Service Pack 3, and IIS 6.0 running in IIS 5.0 compatibility mode. Disabling MSDTC will prevent configuration as well as running of COM+ applications.

IIS 7.0 - Specify a WPI for an application pool in IIS Manager

In IIS Manager, expand the server node, click Application Pools, right-click the application pool, and then click Advanced Settings…

Find the Identity entry, and click the … button to open the Application Pool Identity dialog box.

Select the Custom account option and click Set to open the Set Credentials dialog box. Type in the selected Account name and Password in the user name and password text boxes. Retype the Password in the Confirm password text box, then click OK.

Note Application pool identities are dynamically added to IIS_WPG group in IIS7 and don’t need to be manually added.

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected.

IIS 7.0 - Specify a WPI for an application pool using the Command Line utility APPCMD.exe

From an elevated command prompt, change to the %systemroot%\system32\inetsrv directory.

Execute the APPCMD.exe command using the following syntax where string is the name of the application pool; userName:string is the user name of the account assigned to the application pool; and password:string is the password for the account.

appcmd set config /section:applicationPools /
[name='string'].processModel.identityType:SpecificUser /
[name='string'].processModel.userName:string /
[name='string'].processModel.password:string

Note Application pool identities are dynamically added to IIS_WPG group in IIS 7.0 and do not need to be manually added.

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected.
Top of sectionTop of section

FAQ for Windows RPCSS Service Isolation Vulnerability - CVE-009-0079

What is the scope of the vulnerability?
This is an elevation of privilege vulnerability. An attacker who successfully exploited this vulnerability could execute arbitrary code with LocalSystem privileges. 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 due to the RPCSS service improperly isolating processes that run under the NetworkService or LocalService accounts.

What is RPC?
Remote Procedure Call (RPC) is a protocol that a program can use to request a service from a program located on another computer in a network. RPC helps with interoperability because the program using RPC does not have to understand the network protocols that are supporting communication. In RPC, the requesting program is the client and the service-providing program is the server.

What is the NetworkService Account?
The NetworkService account is a predefined local account used by the service control manager. It has minimum privileges on the local computer and acts as the computer on the network. A service that runs in the context of the NetworkService account presents the computer's credentials to remote servers. For more information, see the MSDN article, Network Service Account.

What is the LocalService Account?
The LocalService account is a predefined local account used by the service control manager. It has minimum privileges on the local computer and presents anonymous credentials on the network. For information, see the MSDN article, LocalService Account.

What is the LocalSystem Account?
The LocalSystem account is a predefined local account used by the service control manager. It has extensive privileges on the local computer, and acts as the computer on the network. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs; these accounts have access to most system objects. A service that runs in the context of the LocalSystem account inherits the security context of the Service Control Manager. Most services do not need such a high privilege level. For more information, see the MSDN article, LocalSystem Account.

How is IIS affected by this issue?
Systems running user-provided code in Internet Information Services (IIS) may be affected. For example ISAPI filters and extensions, and ASP.NET code running in full trust may be affected by this vulnerability.

IIS is not affected in the following scenarios:

Default Installations of IIS 5.1, IIS 6.0, and IIS 7.0

ASP.NET configured to run with a trust level lower than Full Trust

How is SQL Server affected by this issue?
Systems running SQL Server may be affected if a user is granted administrative privileges to load and run code. A user with SQL Server administrator privileges could execute specially crafted code that could leverage the attack. However, this privilege is not granted by default.

What additional applications may be affected by this vulnerability?
Systems running any process with SeImpersonatePrivilege that loads and runs user-provided code may be susceptible to an elevation of privilege attack as described in this security bulletin. The SeImpersonatePrivilege setting is described in Microsoft Knowledge Base Article 821546.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could run specially crafted code in the context of the NetworkService or LocalService accounts that could gain access to resources in processes that are also running as NetworkService or LocalService. Some of these processes may have the ability to elevate their privileges to LocalSystem, allowing any NetworkService or LocalService processes to elevate their privileges to LocalSystem as well. 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?
To exploit this vulnerability, an attacker would first have to log on to the system. An attacker could then run a specially crafted application that could exploit the vulnerability and take complete control over the affected system.

What systems are primarily at risk from the vulnerability?
Workstations and terminal servers are primarily at risk. Servers could be at more risk if users who do not have sufficient administrative permissions are given the ability to log on to servers and to run programs. However, best practices strongly discourage allowing this.

All systems running Windows XP Professional Service Pack 2, Windows XP Professional Service Pack 3, and all supported versions and editions of Windows Server 2003 may be at risk if IIS is enabled or SQL Server is installed and configured or deployed in a vulnerable state as described by this bulletin.

In addition, IIS systems that allow users to upload code are at increased risk. SQL Server systems are at risk if untrusted users are granted privileged account access. This may include Web hosting providers or similar environments.

What does the update do?
The update addresses the vulnerability by properly isolating processes that run under the NetworkService or LocalService accounts.

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

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
Yes. Microsoft is aware of limited, targeted attacks attempting to exploit the vulnerability.
Top of sectionTop of section
Top of sectionTop of section

Windows Thread Pool ACL Weakness Vulnerability - CVE-2009-0080

An elevation of privilege vulnerability exists due to Windows placing incorrect access control lists (ACLs) on threads in the current ThreadPool. The vulnerability could allow an attacker to run code with elevated privileges. An attacker who successfully exploited this vulnerability could execute arbitrary code and take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights.

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

Mitigating Factors for Windows Thread Pool ACL Weakness Vulnerability - CVE- 2009-0080

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:

The attacker must be able to run code on the local machine to exploit this vulnerability. An attacker who successfully exploited this vulnerability could gain the same user rights as the LocalSystem service.
Top of sectionTop of section

Workarounds for Windows Thread Pool ACL Weakness Vulnerability - CVE-2009-0080

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:

IIS 6.0 - Configure a Worker Process Identity (WPI) for an application pool in IIS to use a created account in IIS Manager and disable MSDTC

Perform the following steps:

In IIS Manager, expand the local computer, expand Application Pools, right-click the application pool and select Properties.

Click the Identity tab and click Configurable. In the User name and Password boxes, type the user name and password of the account under which you want the worker process to operate.

Add the chosen user account to the IIS_WPG group.

Disabling the Distributed Transaction Coordinator will help protect the affected system from attempts to exploit this vulnerability. To disable the Distributed Transaction Coordinator, perform these 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 Distributed Transaction Coordinator.

In the Startup type list, click Disabled.

Click Stop (if started), and then click OK.

You can also stop and disable the MSDTC service by using the following command at the command prompt:

sc stop MSDTC & sc config MSDTC start= disabled

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected. An example is Windows Authentication; see Microsoft Knowledge Base Article 871179. Disabling MSDTC will prevent applications from using distributed transactions. Disabling MSDTC will prevent IIS 5.1 from running in Windows XP Professional Service Pack 2 and Windows XP Professional Service Pack 3, and IIS 6.0 running in IIS 5.0 compatibility mode. Disabling MSDTC will prevent configuration as well as running of COM+ applications.

IIS 7.0 - Specify a WPI for an application pool in IIS Manager

In IIS Manager, expand the server node, click Application Pools, right-click the application pool, and then click Advanced Settings…

Find the Identity entry, and click the … button to open the Application Pool Identity dialog box.

Select the Custom account option and click Set to open the Set Credentials dialog box. Type in the selected Account name and Password in the user name and password text boxes. Retype the Password in the Confirm password text box, then click OK.

Note Application pool identities are dynamically added to IIS_WPG group in IIS7 and don’t need to be manually added.

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected.

IIS 7.0 - Specify a WPI for an application pool using the Command Line utility APPCMD.exe

From an elevated command prompt, change to the %systemroot%\system32\inetsrv directory.

Execute the APPCMD.exe command using the following syntax where string is the name of the application pool; userName:string is the user name of the account assigned to the application pool; and password:string is the password for the account.

appcmd set config /section:applicationPools /
[name='string'].processModel.identityType:SpecificUser /
[name='string'].processModel.userName:string /
[name='string'].processModel.password:string

Note Application pool identities are dynamically added to IIS_WPG group in IIS 7.0 and do not need to be manually added.

Impact of Workaround: Managing the additional user accounts created in this workaround results in increased administrative overhead. Depending on the nature of applications running in this application pool, application functionality may be affected.
Top of sectionTop of section

FAQ for Windows Thread Pool ACL Weakness Vulnerability - CVE-2009-0080

What is the scope of the vulnerability?
This is an elevation of privilege vulnerability. An attacker who successfully exploited this vulnerability could execute arbitrary code with LocalSystem privileges. 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 due to Windows placing incorrect access control lists (ACLs) on threads in the current ThreadPool.

What is the Windows ThreadPool Class?
The Windows ThreadPool class provides a pool of threads that can be used to post work items, process asynchronous I/O, wait on behalf of other threads, and process timers. Many applications create threads that spend a great deal of time in the sleeping state, waiting for an event to occur. Other threads might enter a sleeping state only to be awakened periodically to poll for a change or update status information. Thread pooling enables you to use threads more efficiently by providing your application with a pool of worker threads that are managed by the system. One thread monitors the status of several wait operations queued to the thread pool. When a wait operation completes, a worker thread from the thread pool executes the corresponding callback function. For more information, see the MSDN article, ThreadPool Class.

What is an Access Control List (ACL)?
An access control list (ACL) is a list of security protections that applies to an object. An object can be a file, process, event, or anything else having a security descriptor. An entry in an ACL is an access control entry (ACE). There are two types of access control list, discretionary and system. Each ACE in an ACL identifies access rights allowed, denied, or audited for that trustee. For information, see the MSDN article, Access Control Lists.

What is the NetworkService Account?
The NetworkService account is a predefined local account used by the service control manager. It has minimum privileges on the local computer and acts as the computer on the network. A service that runs in the context of the NetworkService account presents the computer's credentials to remote servers. For more information, see the MSDN article, Network Service Account.

What is the LocalService Account?
The LocalService account is a predefined local account used by the service control manager. It has minimum privileges on the local computer and presents anonymous credentials on the network. For information, see the MSDN article, LocalService Account.

What is the LocalSystem Account?
The LocalSystem account is a predefined local account used by the service control manager. It has extensive privileges on the local computer, and acts as the computer on the network. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs; these accounts have access to most system objects. A service that runs in the context of the LocalSystem account inherits the security context of the Service Control Manager. Most services do not need such a high privilege level. For more information, see the MSDN article, LocalSystem Account.

How is IIS affected by this issue?
Systems running user-provided code in Internet Information Services (IIS) may be affected. For example ISAPI filters and extensions, and ASP.NET code running in full trust may be affected by this vulnerability.

IIS is not affected in the following scenarios:

Default Installations of IIS 5.1, IIS 6.0, and IIS 7.0

ASP.NET configured to run with a trust level lower than Full Trust

How is SQL Server affected by this issue?
Systems running SQL Server may be affected if a user is granted administrative privileges to load and run code. A user with SQL Server administrator privileges could execute specially crafted code that could leverage the attack. However, this privilege is not granted by default.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could run specially crafted code in the context of the NetworkService or LocalService accounts that could gain access to resources in processes that are also running as NetworkService or LocalService. Some of these processes may have the ability to elevate their privileges to LocalSystem, allowing any NetworkService or LocalService processes to elevate their privileges to LocalSystem as well. 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?
To exploit this vulnerability, an attacker would first have to log on to the system. An attacker could then run a specially crafted application that could exploit the vulnerability and take complete control over the affected system.

What systems are primarily at risk from the vulnerability?
Workstations and terminal servers are primarily at risk. Servers could be at more risk if users who do not have sufficient administrative permissions are given the ability to log on to servers and to run programs. However, best practices strongly discourage allowing this.

All systems running all supported editions of Windows Vista and Windows Server 2008 may be at risk if IIS is enabled or SQL Server is installed and configured or deployed in a vulnerable state as described by this bulletin.

In addition, IIS systems that allow users to upload code are at increased risk. SQL Server systems are at risk if untrusted users are granted privileged account access. This may include Web hosting providers or similar environments.

What does the update do?
The update addresses the vulnerability by properly isolating processes that run under the NetworkService or LocalService accounts.

What does the update do?
The update addresses the vulnerability correcting the ACLs on thread within the Thread Pool.

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

When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
Yes. Microsoft is aware of limited, targeted attacks attempting to exploit the vulnerability.

Other Information
Acknowledgments

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

Cesar Cerrudo of Argeniss for reporting the Windows MSDTC Service Isolation Vulnerability (CVE-2008-1436), Windows WMI Service Isolation Vulnerability (CVE-2009-0078), Windows RPCSS Service Isolation Vulnerability (CVE-2009-0079), and Windows Thread Pool ACL Weakness Vulnerability (CVE-2009-0080)

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 Security Support or 1-866-PCSAFETY. There is no charge for support calls that are associated with security updates. For more information about available support options, see Microsoft Help and Support.

International customers can receive support from their local Microsoft subsidiaries. There is no charge for support that is associated with security updates. For more information about how to contact Microsoft for support issues, visit the International Support Web site.

Disclaimer

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

Revisions

V1.0 (April 14, 2009): Bulletin published.