Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:23625
HistoryApr 15, 2010 - 12:00 a.m.

Microsoft Security Bulletin MS10-020 - Critical Vulnerabilities in SMB Client Could Allow Remote Code Execution (980232)

2010-04-1500:00:00
vulners.com
38

Microsoft Security Bulletin MS10-020 - Critical
Vulnerabilities in SMB Client Could Allow Remote Code Execution (980232)
Published: April 13, 2010

Version: 1.0
General Information
Executive Summary

This security update resolves one publicly disclosed and several privately reported vulnerabilities in Microsoft Windows. The vulnerabilities could allow remote code execution if an attacker sent a specially crafted SMB response to a client-initiated SMB request. To exploit these vulnerabilities, an attacker must convince the user to initiate an SMB connection to a specially crafted SMB server.

This security update is rated Critical for all supported editions of Microsoft Windows. For more information, see the subsection, Affected and Non-Affected Software, in this section.

The security update addresses the vulnerabilities by correcting the manner in which the SMB client handles SMB responses, allocates memory, and validates fields within the SMB response. 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 977544.

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

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

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

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

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

Affected Software
Operating System Maximum Security Impact Aggregate Severity Rating Bulletins Replaced by this Update

Microsoft Windows 2000 Service Pack 4

Remote Code Execution

Critical

MS10-006

Windows XP Service Pack 2 and Windows XP Service Pack 3

Remote Code Execution

Critical

MS10-006

Windows XP Professional x64 Edition Service Pack 2

Remote Code Execution

Critical

MS10-006

Windows Server 2003 Service Pack 2

Remote Code Execution

Critical

MS10-006

Windows Server 2003 x64 Edition Service Pack 2

Remote Code Execution

Critical

MS10-006

Windows Server 2003 with SP2 for Itanium-based Systems

Remote Code Execution

Critical

MS10-006

Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2

Remote Code Execution

Critical

MS10-006

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

Remote Code Execution

Critical

MS10-006

Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2*

Remote Code Execution

Critical

MS10-006

Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

Remote Code Execution

Critical

MS10-006

Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2

Remote Code Execution

Critical

MS10-006

Windows 7 for 32-bit Systems

Remote Code Execution

Critical

MS10-006

Windows 7 for x64-based Systems

Remote Code Execution

Critical

MS10-006

Windows Server 2008 R2 for x64-based Systems*

Remote Code Execution

Critical

MS10-006

Windows Server 2008 R2 for Itanium-based Systems

Remote Code Execution

Critical

MS10-006

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

Frequently Asked Questions (FAQ) Related to This Security Update

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

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

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

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

Customers who require custom support for older software must contact their Microsoft account team representative, their Technical Account Manager, or the appropriate Microsoft partner representative for custom support options. Customers without an Alliance, Premier, or Authorized Contract can contact their local Microsoft sales office. For contact information, visit the Microsoft Worldwide Information Web site, select the country in the Contact Information list, and then click Go to see a list of telephone numbers. When you call, ask to speak with the local Premier Support sales manager. For more information, see the Microsoft Support Lifecycle Policy FAQ.
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 SMB Client Incomplete Response Vulnerability - CVE-2009-3676 SMB Client Memory Allocation Vulnerability - CVE-2010-0269 SMB Client Transaction Vulnerability - CVE-2010-0270 SMB Client Response Parsing Vulnerability - CVE-2010-0476 SMB Client Message Size Vulnerability - CVE-2010-0477 Aggregate Severity Rating

Microsoft Windows 2000 Service Pack 4

Not applicable

Critical
Remote Code Execution

Not applicable

Not applicable

Not applicable

Critical

Windows XP Service Pack 2 and Windows XP Service Pack 3

Not applicable

Critical
Remote Code Execution

Not applicable

Not applicable

Not applicable

Critical

Windows XP Professional x64 Edition Service Pack 2

Not applicable

Critical
Remote Code Execution

Not applicable

Not applicable

Not applicable

Critical

Windows Server 2003 Service Pack 2

Not applicable

Critical
Remote Code Execution

Not applicable

Critical
Remote Code Execution

Not applicable

Critical

Windows Server 2003 x64 Edition Service Pack 2

Not applicable

Critical
Remote Code Execution

Not applicable

Critical
Remote Code Execution

Not applicable

Critical

Windows Server 2003 with SP2 for Itanium-based Systems

Not applicable

Critical
Remote Code Execution

Not applicable

Critical
Remote Code Execution

Not applicable

Critical

Windows Vista, Windows Vista Service Pack 1, and Windows Vista Service Pack 2

Not applicable

Critical
Remote Code Execution

Not applicable

Critical
Remote Code Execution

Not applicable

Critical

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

Not applicable

Critical
Remote Code Execution

Not applicable

Critical
Remote Code Execution

Not applicable

Critical

Windows Server 2008 for 32-bit Systems and Windows Server 2008 for 32-bit Systems Service Pack 2*

Not applicable

Critical
Remote Code Execution

Not applicable

Critical
Remote Code Execution

Not applicable

Critical

Windows Server 2008 for x64-based Systems and Windows Server 2008 for x64-based Systems Service Pack 2*

Not applicable

Critical
Remote Code Execution

Not applicable

Critical
Remote Code Execution

Not applicable

Critical

Windows Server 2008 for Itanium-based Systems and Windows Server 2008 for Itanium-based Systems Service Pack 2

Not applicable

Critical
Remote Code Execution

Not applicable

Critical
Remote Code Execution

Not applicable

Critical

Windows 7 for 32-bit Systems

Important
Denial of Service

Critical
Remote Code Execution

Critical
Remote Code Execution

Low
Defense in Depth

Critical
Remote Code Execution

Critical

Windows 7 for x64-based Systems

Important
Denial of Service

Critical
Remote Code Execution

Critical
Remote Code Execution

Low
Defense in Depth

Critical
Remote Code Execution

Critical

Windows Server 2008 R2 for x64-based Systems*

Important
Denial of Service

Critical
Remote Code Execution

Critical
Remote Code Execution

Low
Defense in Depth

Critical
Remote Code Execution

Critical

Windows Server 2008 R2 for Itanium-based Systems

Important
Denial of Service

Critical
Remote Code Execution

Critical
Remote Code Execution

Low
Defense in Depth

Critical
Remote Code Execution

Critical

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

SMB Client Incomplete Response Vulnerability - CVE-2009-3676

A denial of service vulnerability exists in the way that the Microsoft Server Message Block (SMB) client implementation handles specially crafted SMB responses. An attempt to exploit the vulnerability would not require authentication, allowing an attacker to exploit the vulnerability by sending a specially crafted SMB response to a client-initiated SMB request. An attacker who successfully exploited this vulnerability could cause the computer to stop responding until restarted.

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

Mitigating Factors for SMB Client Incomplete Response Vulnerability - CVE-2009-3676

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

This denial-of-service vulnerability would not allow an attacker to execute code or to elevate their user rights, but it could cause the affected system to stop responding until manually restarted.

Firewall best practices and standard default firewall configurations can help protect networks from attacks that originate outside the enterprise perimeter. Best practices recommend that systems that are connected to the Internet have a minimal number of ports exposed. In this case, the SMB ports should be blocked from the Internet.
Top of sectionTop of section

Workarounds for SMB Client Incomplete Response Vulnerability - CVE-2009-3676

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:

Block TCP ports 139 and 445 at the firewall

These ports are used to initiate a connection with the affected component. Blocking TCP ports 139 and 445 at the firewall will help protect systems that are behind that firewall from attempts to exploit this vulnerability. For this specific vulnerability, both inbound and outbound SMB traffic should be blocked to reduce exposure. Microsoft recommends that you block all unsolicited inbound communication from the Internet to help prevent attacks that may use other ports. For more information about ports, see the TechNet article, TCP and UDP Port Assignments.

Impact of workaround. Several Windows services use the affected ports. Blocking connectivity to the ports may cause various applications or services to not function. Some of the applications or services that could be impacted are listed below:

Applications that use SMB (CIFS)

Applications that use mailslots or named pipes (RPC over SMB)

Server (File and Print Sharing)

Group Policy

Net Logon

Distributed File System (DFS)

Terminal Server Licensing

Print Spooler

Computer Browser

Remote Procedure Call Locator

Fax Service

Indexing Service

Performance Logs and Alerts

Systems Management Server

License Logging Service

How to undo the workaround. Unblock TCP ports 139 and 445 at the firewall. For more information about ports, see TCP and UDP Port Assignments.
Top of sectionTop of section

FAQ for SMB Client Incomplete Response Vulnerability - CVE-2009-3676

What is the scope of the vulnerability?
This is a denial of service vulnerability. An attacker who exploited this vulnerability could cause the affected system to stop responding until it is manually restarted. Note that the denial of service vulnerability would not allow an attacker to execute code or to elevate their user rights, but it could cause the affected system to stop responding until manually restarted.

What causes the vulnerability?
The vulnerability exists because the Microsoft Server Message Block (SMB) client implementation incorrectly handles incomplete SMB responses.

What is Microsoft Server Message Block (SMB) protocol?
Microsoft Server Message Block (SMB) protocol is a Microsoft network file sharing protocol used in Microsoft Windows. For more information on SMB, see the MSDN article, Microsoft SMB Protocol and CIFS Protocol Overview.

What is Microsoft Server Message Block Version 2 (SMBv2)?
Server Message Block (SMB) is the file sharing protocol used by default on Windows-based computers. SMB Version 2.0 (SMBv2) is an update to this protocol, and is only supported on computers running Windows Server 2008, Windows 7, and Windows Vista. SMBv2 can only be used if both client and server support it. If either client or server cannot support SMBv2, the SMB 1.0 protocol will be used instead. The SMB protocol version to be used for file operations is decided during the negotiation phase. During the negotiation phase, a Windows Vista client advertises to the server that it can understand the new SMBv2 protocol. If the server (Windows Server 2008 or later) understands SMBv2, then SMBv2 is chosen for subsequent communication. Otherwise the client and server use SMB 1.0 and continue to function as normal. For more information on SMBv2, see the MSDN article, Server Message Block (SMB) Version 2 Protocol Specification.

What is the difference between SMBv1 and SMBv2?
Both protocols are used by clients to request file and print services from a server system over the network. Both are stateful protocols in which clients establish a connection to a server, establish an authenticated context on that connection, and then issue a variety of requests to access files, printers, and named pipes for interprocess communication. The SMBv2 protocol is a major revision of the existing SMB protocol. While many of the underlying concepts are the same, the packet formats are completely different. In addition to providing all of the capabilities found in SMBv1, the SMBv2 protocol provides several enhancements:

Allowing an open to a file to be reestablished after a client connection becomes temporarily disconnected.

Allowing the server to balance the number of simultaneous operations that a client can have outstanding at any time.

Providing scalability in terms of the number of shares, users, and simultaneously open files.

Supporting symbolic links.

Using a stronger algorithm to validate the integrity of requests and responses.

What versions of SMB are impacted by this vulnerability?
This vulnerability affects both SMBv1 and SMBv2.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could cause a user's system to stop responding until manually restarted.

How could an attacker exploit the vulnerability?
An attacker could host a specially crafted SMB server that is designed to exploit this vulnerability and then convince a user to initiate an SMB connection with it. Additionally, an attacker on the local network could perform a man-in-the-middle attack to respond to a legitimate SMB request with a malformed SMB response.

What systems are primarily at risk from the vulnerability?
All affected operating systems are at risk.

Can this vulnerability be exploited using Internet Explorer?
No. However, this issue may be exploited through Web transactions, regardless of browser type. In a Web-based attack scenario, an attacker would have to host a Web page that contains a specially crafted URI. A user who browsed that Web site will force an SMB connection to an SMB server controlled by the attacker, which would then send a malformed response back to the user. This response would result in the users' system becoming nonresponsive. In addition, compromised Web sites and Web sites that accept or host user-provided content could contain specially crafted content that could exploit this vulnerability. An attacker would have no way to force users to visit a specially crafted Web site. Instead, an attacker would have to convince them to visit the Web site, typically by getting them to click a link in an e-mail message or Instant Messenger message that takes them to the attacker's site.

What is a URI?
A Uniform Resource Identifier (URI) is a string of characters used to act on or identify resources from the Internet or over a network. A URL is a typical example of a URI that references a resource such as a Web site. For more information about URIs, see RFC-2396.

What does the update do?
The security update addresses the vulnerability by correcting the manner in which the SMB client handles incomplete SMB responses.

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

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

SMB Client Memory Allocation Vulnerability - CVE-2010-0269

An unauthenticated remote code execution vulnerability exists in the way that the Microsoft Server Message Block (SMB) client implementation allocates memory when parsing specially crafted SMB responses. An attempt to exploit the vulnerability would not require authentication, allowing an attacker to exploit the vulnerability by sending a specially crafted SMB response to a client-initiated SMB request. 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-2010-0269.

Mitigating Factors for SMB Client Memory Allocation Vulnerability - CVE-2010-0269

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:

Firewall best practices and standard default firewall configurations can help protect networks from attacks that originate outside the enterprise perimeter. Best practices recommend that systems that are connected to the Internet have a minimal number of ports exposed. In this case, the SMB ports should be blocked from the Internet.
Top of sectionTop of section

Workarounds for SMB Client Memory Allocation Vulnerability - CVE-2010-0269

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:

Block TCP ports 139 and 445 at the firewall

These ports are used to initiate a connection with the affected component. Blocking TCP ports 139 and 445 at the firewall will help protect systems that are behind that firewall from attempts to exploit this vulnerability. For this specific vulnerability, both inbound and outbound SMB traffic should be blocked to reduce exposure. Microsoft recommends that you block all unsolicited inbound communication from the Internet to help prevent attacks that may use other ports. For more information about ports, see the TechNet article, TCP and UDP Port Assignments.

Impact of workaround. Several Windows services use the affected ports. Blocking connectivity to the ports may cause various applications or services to not function. Some of the applications or services that could be impacted are listed below:

Applications that use SMB (CIFS)

Applications that use mailslots or named pipes (RPC over SMB)

Server (File and Print Sharing)

Group Policy

Net Logon

Distributed File System (DFS)

Terminal Server Licensing

Print Spooler

Computer Browser

Remote Procedure Call Locator

Fax Service

Indexing Service

Performance Logs and Alerts

Systems Management Server

License Logging Service

How to undo the workaround. Unblock TCP ports 139 and 445 at the firewall. For more information about ports, see TCP and UDP Port Assignments.
Top of sectionTop of section

FAQ for SMB Client Memory Allocation Vulnerability - CVE-2010-0269

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

What causes the vulnerability?
The vulnerability exists because the Microsoft Server Message Block (SMB) client implementation improperly allocates memory when parsing specially crafted SMB responses.

What is Microsoft Server Message Block (SMB) protocol?
Microsoft Server Message Block (SMB) protocol is a Microsoft network file sharing protocol used in Microsoft Windows. For more information on SMB, see the MSDN article, Microsoft SMB Protocol and CIFS Protocol Overview.

What is Microsoft Server Message Block Version 2 (SMBv2)?
Server Message Block (SMB) is the file sharing protocol used by default on Windows-based computers. SMB Version 2.0 (SMBv2) is an update to this protocol, and is only supported on computers running Windows Server 2008, Windows 7, and Windows Vista. SMBv2 can only be used if both client and server support it. If either client or server cannot support SMBv2, the SMB 1.0 protocol will be used instead. The SMB protocol version to be used for file operations is decided during the negotiation phase. During the negotiation phase, a Windows Vista client advertises to the server that it can understand the new SMBv2 protocol. If the server (Windows Server 2008 or later) understands SMBv2, then SMBv2 is chosen for subsequent communication. Otherwise the client and server use SMB 1.0 and continue to function as normal. For more information on SMBv2, see the MSDN article, Server Message Block (SMB) Version 2 Protocol Specification.

What is the difference between SMBv1 and SMBv2?
Both protocols are used by clients to request file and print services from a server system over the network. Both are stateful protocols in which clients establish a connection to a server, establish an authenticated context on that connection, and then issue a variety of requests to access files, printers, and named pipes for interprocess communication. The SMBv2 protocol is a major revision of the existing SMB protocol. While many of the underlying concepts are the same, the packet formats are completely different. In addition to providing all of the capabilities found in SMBv1, the SMBv2 protocol provides several enhancements:

Allowing an open to a file to be reestablished after a client connection becomes temporarily disconnected.

Allowing the server to balance the number of simultaneous operations that a client can have outstanding at any time.

Providing scalability in terms of the number of shares, users, and simultaneously open files.

Supporting symbolic links.

Using a stronger algorithm to validate the integrity of requests and responses.

What versions of SMB are impacted by this vulnerability?
The issue addressed by this CVE affects both SMBv1 and SMBv2.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could take complete control of an affected system. Most attempts to exploit this vulnerability will cause an affected system to stop responding and restart.

How could an attacker exploit the vulnerability?
An attacker could host a specially crafted SMB server that is designed to exploit this vulnerability and then convince a user to initiate an SMB connection with it. Additionally, an attacker on the local network could perform a man-in-the-middle attack to respond to a legitimate SMB request with a malformed SMB response.

What systems are primarily at risk from the vulnerability?
All affected operating systems are at risk.

Can this vulnerability be exploited using Internet Explorer?
No. However, this issue may be exploited through Web transactions, regardless of browser type. In a Web-based attack scenario, an attacker would have to host a Web page that contains a specially crafted URI. A user who browsed that Web site will force an SMB connection to an SMB server controlled by the attacker, which would then send a malformed response back to the user. This response would result in the users' system becoming nonresponsive. In addition, compromised Web sites and Web sites that accept or host user-provided content could contain specially crafted content that could exploit this vulnerability. An attacker would have no way to force users to visit a specially crafted Web site. Instead, an attacker would have to convince them to visit the Web site, typically by getting them to click a link in an e-mail message or Instant Messenger message that takes them to the attacker's site.

What is a URI?
A Uniform Resource Identifier (URI) is a string of characters used to act on or identify resources from the Internet or over a network. A URL is a typical example of a URI that references a resource such as a Web site. For more information about URIs, see RFC-2396.

What does the update do?
The security update addresses the vulnerability by correcting the manner in which the SMB client allocates memory when parsing specially crafted SMB responses.

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 when this security bulletin was originally issued.
Top of sectionTop of section
Top of sectionTop of section

SMB Client Transaction Vulnerability - CVE-2010-0270

An unauthenticated remote code execution vulnerability exists in the way that the Microsoft Server Message Block (SMB) client implementation handles specially crafted SMB transaction responses. An attempt to exploit the vulnerability would not require authentication, allowing an attacker to exploit the vulnerability by sending a specially crafted SMB response to a client-initiated SMB request. An attacker who successfully exploited this vulnerability could take complete control of the system.

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

Mitigating Factors for SMB Client Transaction Vulnerability - CVE-2010-0270

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:

Firewall best practices and standard default firewall configurations can help protect networks from attacks that originate outside the enterprise perimeter. Best practices recommend that systems that are connected to the Internet have a minimal number of ports exposed. In this case, the SMB ports should be blocked from the Internet.
Top of sectionTop of section

Workarounds for SMB Client Transaction Vulnerability - CVE-2010-0270

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:

Block TCP ports 139 and 445 at the firewall

These ports are used to initiate a connection with the affected component. Blocking TCP ports 139 and 445 at the firewall will help protect systems that are behind that firewall from attempts to exploit this vulnerability. For this specific vulnerability, both inbound and outbound SMB traffic should be blocked to reduce exposure. Microsoft recommends that you block all unsolicited inbound communication from the Internet to help prevent attacks that may use other ports. For more information about ports, see the TechNet article, TCP and UDP Port Assignments.

Impact of workaround. Several Windows services use the affected ports. Blocking connectivity to the ports may cause various applications or services to not function. Some of the applications or services that could be impacted are listed below:

Applications that use SMB (CIFS)

Applications that use mailslots or named pipes (RPC over SMB)

Server (File and Print Sharing)

Group Policy

Net Logon

Distributed File System (DFS)

Terminal Server Licensing

Print Spooler

Computer Browser

Remote Procedure Call Locator

Fax Service

Indexing Service

Performance Logs and Alerts

Systems Management Server

License Logging Service

How to undo the workaround. Unblock TCP ports 139 and 445 at the firewall. For more information about ports, see TCP and UDP Port Assignments.
Top of sectionTop of section

FAQ for SMB Client Transaction Vulnerability - CVE-2010-0270

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

What causes the vulnerability?
The vulnerability exists because by the Microsoft Server Message Block (SMB) client improperly validates fields in the SMB response. This could lead to a memory corruption issue resulting in code execution with system-level privileges.

What is Microsoft Server Message Block (SMB) protocol?
Microsoft Server Message Block (SMB) protocol is a Microsoft network file sharing protocol used in Microsoft Windows. For more information on SMB, see the MSDN article, Microsoft SMB Protocol and CIFS Protocol Overview.

What is Microsoft Server Message Block Version 2 (SMBv2)?
Server Message Block (SMB) is the file sharing protocol used by default on Windows-based computers. SMB Version 2.0 (SMBv2) is an update to this protocol, and is only supported on computers running Windows Server 2008, Windows 7, and Windows Vista. SMBv2 can only be used if both client and server support it. If either client or server cannot support SMBv2, the SMB 1.0 protocol will be used instead. The SMB protocol version to be used for file operations is decided during the negotiation phase. During the negotiation phase, a Windows Vista client advertises to the server that it can understand the new SMBv2 protocol. If the server (Windows Server 2008 or later) understands SMBv2, then SMBv2 is chosen for subsequent communication. Otherwise the client and server use SMB 1.0 and continue to function as normal. For more information on SMBv2, see the MSDN article, Server Message Block (SMB) Version 2 Protocol Specification.

What is the difference between SMBv1 and SMBv2?
Both protocols are used by clients to request file and print services from a server system over the network. Both are stateful protocols in which clients establish a connection to a server, establish an authenticated context on that connection, and then issue a variety of requests to access files, printers, and named pipes for interprocess communication. The SMBv2 protocol is a major revision of the existing SMB protocol. While many of the underlying concepts are the same, the packet formats are completely different. In addition to providing all of the capabilities found in SMBv1, the SMBv2 protocol provides several enhancements:

Allowing an open to a file to be reestablished after a client connection becomes temporarily disconnected.

Allowing the server to balance the number of simultaneous operations that a client can have outstanding at any time.

Providing scalability in terms of the number of shares, users, and simultaneously open files.

Supporting symbolic links.

Using a stronger algorithm to validate the integrity of requests and responses.

What versions of SMB are impacted by this vulnerability?
The issue addressed by this CVE affects both SMBv1 and SMBv2.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could take complete control of an affected system. Most attempts to exploit this vulnerability will cause an affected system to stop responding and restart.

How could an attacker exploit the vulnerability?
An attacker could host a specially crafted SMB server that is designed to exploit this vulnerability and then convince a user to initiate an SMB connection with it. Additionally, an attacker on the local network could perform a man-in-the-middle attack to respond to a legitimate SMB request with a malformed SMB response.

What systems are primarily at risk from the vulnerability?
All affected operating systems are at risk.

Can this vulnerability be exploited using Internet Explorer?
No. However, this issue may be exploited through Web transactions, regardless of browser type. In a Web-based attack scenario, an attacker would have to host a Web page that contains a specially crafted URI. A user who browsed that Web site will force an SMB connection to an SMB server controlled by the attacker, which would then send a malformed response back to the user. This response would result in the users' system becoming nonresponsive. In addition, compromised Web sites and Web sites that accept or host user-provided content could contain specially crafted content that could exploit this vulnerability. An attacker would have no way to force users to visit a specially crafted Web site. Instead, an attacker would have to convince them to visit the Web site, typically by getting them to click a link in an e-mail message or Instant Messenger message that takes them to the attacker's site.

What is a URI?
A Uniform Resource Identifier (URI) is a string of characters used to act on or identify resources from the Internet or over a network. A URL is a typical example of a URI that references a resource such as a Web site. For more information about URIs, see RFC-2396.

What does the update do?
The security update addresses the vulnerability by correcting the manner in which fields within the SMB response are validated.

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 when this security bulletin was originally issued.
Top of sectionTop of section
Top of sectionTop of section

SMB Client Response Parsing Vulnerability - CVE-2010-0476

An unauthenticated remote code execution vulnerability exists in the way that the Microsoft Server Message Block (SMB) client implementation parses specially crafted SMB transaction responses. An attempt to exploit the vulnerability would not require authentication, allowing an attacker to exploit the vulnerability by sending a specially crafted SMB response to a client-initiated SMB request. An attacker who successfully exploited this vulnerability could take complete control of the system.

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

Mitigating Factors for SMB Client Response Parsing Vulnerability - CVE-2010-0476

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:

Firewall best practices and standard default firewall configurations can help protect networks from attacks that originate outside the enterprise perimeter. Best practices recommend that systems that are connected to the Internet have a minimal number of ports exposed. In this case, the SMB ports should be blocked from the Internet.
Top of sectionTop of section

Workarounds for SMB Client Response Parsing Vulnerability - CVE-2010-0476

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:

Block TCP ports 139 and 445 at the firewall

These ports are used to initiate a connection with the affected component. Blocking TCP ports 139 and 445 at the firewall will help protect systems that are behind that firewall from attempts to exploit this vulnerability. For this specific vulnerability, both inbound and outbound SMB traffic should be blocked to reduce exposure. Microsoft recommends that you block all unsolicited inbound communication from the Internet to help prevent attacks that may use other ports. For more information about ports, see the TechNet article, TCP and UDP Port Assignments.

Impact of workaround. Several Windows services use the affected ports. Blocking connectivity to the ports may cause various applications or services to not function. Some of the applications or services that could be impacted are listed below:

Applications that use SMB (CIFS)

Applications that use mailslots or named pipes (RPC over SMB)

Server (File and Print Sharing)

Group Policy

Net Logon

Distributed File System (DFS)

Terminal Server Licensing

Print Spooler

Computer Browser

Remote Procedure Call Locator

Fax Service

Indexing Service

Performance Logs and Alerts

Systems Management Server

License Logging Service

How to undo the workaround. Unblock TCP ports 139 and 445 at the firewall. For more information about ports, see TCP and UDP Port Assignments.
Top of sectionTop of section

FAQ for SMB Client Response Parsing Vulnerability - CVE-2010-0476

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

What causes the vulnerability?
The vulnerability exists because the Microsoft Server Message Block (SMB) client implementation improperly parses specially crafted SMB transaction responses. This could lead to a memory corruption issue resulting in code execution with system-level privileges.

What is Microsoft Server Message Block (SMB) protocol?
Microsoft Server Message Block (SMB) protocol is a Microsoft network file sharing protocol used in Microsoft Windows. For more information on SMB, see the MSDN article, Microsoft SMB Protocol and CIFS Protocol Overview.

What is Microsoft Server Message Block Version 2 (SMBv2)?
Server Message Block (SMB) is the file sharing protocol used by default on Windows-based computers. SMB Version 2.0 (SMBv2) is an update to this protocol, and is only supported on computers running Windows Server 2008, Windows 7, and Windows Vista. SMBv2 can only be used if both client and server support it. If either client or server cannot support SMBv2, the SMB 1.0 protocol will be used instead. The SMB protocol version to be used for file operations is decided during the negotiation phase. During the negotiation phase, a Windows Vista client advertises to the server that it can understand the new SMBv2 protocol. If the server (Windows Server 2008 or later) understands SMBv2, then SMBv2 is chosen for subsequent communication. Otherwise the client and server use SMB 1.0 and continue to function as normal. For more information on SMBv2, see the MSDN article, Server Message Block (SMB) Version 2 Protocol Specification.

What is the difference between SMBv1 and SMBv2?
Both protocols are used by clients to request file and print services from a server system over the network. Both are stateful protocols in which clients establish a connection to a server, establish an authenticated context on that connection, and then issue a variety of requests to access files, printers, and named pipes for interprocess communication. The SMBv2 protocol is a major revision of the existing SMB protocol. While many of the underlying concepts are the same, the packet formats are completely different. In addition to providing all of the capabilities found in SMBv1, the SMBv2 protocol provides several enhancements:

Allowing an open to a file to be reestablished after a client connection becomes temporarily disconnected.

Allowing the server to balance the number of simultaneous operations that a client can have outstanding at any time.

Providing scalability in terms of the number of shares, users, and simultaneously open files.

Supporting symbolic links.

Using a stronger algorithm to validate the integrity of requests and responses.

What versions of SMB are impacted by this vulnerability?
This vulnerability affects both SMBv1 and SMBv2.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could take complete control of an affected system. Most attempts to exploit this vulnerability will cause an affected system to stop responding and restart.

How could an attacker exploit the vulnerability?
An attacker could host a specially crafted SMB server that is designed to exploit this vulnerability and then convince a user to initiate an SMB connection with it. Additionally, an attacker on the local network could perform a man-in-the-middle attack to respond to a legitimate SMB request with a malformed SMB response.

What systems are primarily at risk from the vulnerability?
All affected operating systems are at risk.

Why are Windows 7 and Windows Server 2008 R2 listed as Low severity?
Although this vulnerability does not directly affect these platforms, there may be third-party TDI filters vulnerable to this issue. The update addresses this issue. These platforms are not delivered with any TDI filters that are vulnerable to this issue. Microsoft is not aware of any third-party TDI filters that are affected by this issue.

Can this vulnerability be exploited using Internet Explorer?
No. However, this issue may be exploited through Web transactions, regardless of browser type. In a Web-based attack scenario, an attacker would have to host a Web page that contains a specially crafted URI. A user who browsed that Web site will force an SMB connection to an SMB server controlled by the attacker, which would then send a malformed response back to the user. This response would result in the users' system becoming nonresponsive. In addition, compromised Web sites and Web sites that accept or host user-provided content could contain specially crafted content that could exploit this vulnerability. An attacker would have no way to force users to visit a specially crafted Web site. Instead, an attacker would have to convince them to visit the Web site, typically by getting them to click a link in an e-mail message or Instant Messenger message that takes them to the attacker's site.

What is a URI?
A Uniform Resource Identifier (URI) is a string of characters used to act on or identify resources from the Internet or over a network. A URL is a typical example of a URI that references a resource such as a Web site. For more information about URIs, see RFC-2396.

What does the update do?
The security update addresses the vulnerability by correcting the manner in which the SMB client parses specially crafted SMB transaction responses.

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 when this security bulletin was originally issued.
Top of sectionTop of section
Top of sectionTop of section

SMB Client Message Size Vulnerability - CVE-2010-0477

An unauthenticated remote code execution vulnerability exists in the way that the Microsoft Server Message Block (SMB) client implementation handles specially crafted SMB responses. An attempt to exploit the vulnerability would not require authentication, allowing an attacker to exploit the vulnerability by sending a specially crafted SMB response to a client-initiated SMB request. An attacker who successfully exploited this vulnerability could take complete control of the system.

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

Mitigating Factors for SMB Client Message Size Vulnerability - CVE-2010-0477

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:

Firewall best practices and standard default firewall configurations can help protect networks from attacks that originate outside the enterprise perimeter. Best practices recommend that systems that are connected to the Internet have a minimal number of ports exposed. In this case, the SMB ports should be blocked from the Internet.
Top of sectionTop of section

Workarounds for SMB Client Message Size Vulnerability - CVE-2010-0477

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:

Block TCP ports 139 and 445 at the firewall

These ports are used to initiate a connection with the affected component. Blocking TCP ports 139 and 445 at the firewall will help protect systems that are behind that firewall from attempts to exploit this vulnerability. For this specific vulnerability, both inbound and outbound SMB traffic should be blocked to reduce exposure. Microsoft recommends that you block all unsolicited inbound communication from the Internet to help prevent attacks that may use other ports. For more information about ports, see the TechNet article, TCP and UDP Port Assignments.

Impact of workaround. Several Windows services use the affected ports. Blocking connectivity to the ports may cause various applications or services to not function. Some of the applications or services that could be impacted are listed below:

Applications that use SMB (CIFS)

Applications that use mailslots or named pipes (RPC over SMB)

Server (File and Print Sharing)

Group Policy

Net Logon

Distributed File System (DFS)

Terminal Server Licensing

Print Spooler

Computer Browser

Remote Procedure Call Locator

Fax Service

Indexing Service

Performance Logs and Alerts

Systems Management Server

License Logging Service

How to undo the workaround. Unblock TCP ports 139 and 445 at the firewall. For more information about ports, see TCP and UDP Port Assignments.
Top of sectionTop of section

FAQ for SMB Client Message Size Vulnerability - CVE-2010-0477

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

What causes the vulnerability?
The vulnerability exists because the Microsoft Server Message Block (SMB) client implementation improperly handles specially crafted SMB responses that cause the SMB client to consume the entire response and indicate an invalid value to the Winsock kernel.

What is Microsoft Server Message Block (SMB) protocol?
Microsoft Server Message Block (SMB) protocol is a Microsoft network file sharing protocol used in Microsoft Windows. For more information on SMB, see the MSDN article, Microsoft SMB Protocol and CIFS Protocol Overview.

What is Microsoft Server Message Block Version 2 (SMBv2)?
Server Message Block (SMB) is the file sharing protocol used by default on Windows-based computers. SMB Version 2.0 (SMBv2) is an update to this protocol, and is only supported on computers running Windows Server 2008, Windows 7, and Windows Vista. SMBv2 can only be used if both client and server support it. If either client or server cannot support SMBv2, the SMB 1.0 protocol will be used instead. The SMB protocol version to be used for file operations is decided during the negotiation phase. During the negotiation phase, a Windows Vista client advertises to the server that it can understand the new SMBv2 protocol. If the server (Windows Server 2008 or later) understands SMBv2, then SMBv2 is chosen for subsequent communication. Otherwise the client and server use SMB 1.0 and continue to function as normal. For more information on SMBv2, see the MSDN article, Server Message Block (SMB) Version 2 Protocol Specification.

What is the difference between SMBv1 and SMBv2?
Both protocols are used by clients to request file and print services from a server system over the network. Both are stateful protocols in which clients establish a connection to a server, establish an authenticated context on that connection, and then issue a variety of requests to access files, printers, and named pipes for interprocess communication. The SMBv2 protocol is a major revision of the existing SMB protocol. While many of the underlying concepts are the same, the packet formats are completely different. In addition to providing all of the capabilities found in SMBv1, the SMBv2 protocol provides several enhancements:

Allowing an open to a file to be reestablished after a client connection becomes temporarily disconnected.

Allowing the server to balance the number of simultaneous operations that a client can have outstanding at any time.

Providing scalability in terms of the number of shares, users, and simultaneously open files.

Supporting symbolic links.

Using a stronger algorithm to validate the integrity of requests and responses.

What versions of SMB are impacted by this vulnerability?
The issue addressed by this CVE affects both SMBv1 and SMBv2.

What is the Winsock Kernel?
The Winsock Kernel (WSK) is a kernel-mode Network Programming Interface (NPI). With WSK, kernel-mode software modules can perform network I/O operations using the same socket programming concepts that are supported by user-mode Winsock2. The WSK NPI supports familiar socket operations such as socket creation, binding, connection establishment, and data transfers (send and receive). However, while the WSK NPI supports most of the same socket programming concepts as user-mode Winsock2, it is a completely new and different interface with unique characteristics such as asynchronous I/O that uses IRPs and event callbacks to enhance performance. For more information, see the MSDN article, Winsock Kernel.

What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could take complete control of an affected system. Most attempts to exploit this vulnerability will cause an affected system to stop responding and restart.

How could an attacker exploit the vulnerability?
An attacker could host a specially crafted SMB server that is designed to exploit this vulnerability and then convince a user to initiate an SMB connection with it. Additionally, an attacker on the local network could perform a man-in-the-middle attack to respond to a legitimate SMB request with a malformed SMB response.

What systems are primarily at risk from the vulnerability?
All affected operating systems are at risk.

Can this vulnerability be exploited using Internet Explorer?
No. However, this issue may be exploited through Web transactions, regardless of browser type. In a Web-based attack scenario, an attacker would have to host a Web page that contains a specially crafted URI. A user who browsed that Web site will force an SMB connection to an SMB server controlled by the attacker, which would then send a malformed response back to the user. This response would result in the users' system becoming nonresponsive. In addition, compromised Web sites and Web sites that accept or host user-provided content could contain specially crafted content that could exploit this vulnerability. An attacker would have no way to force users to visit a specially crafted Web site. Instead, an attacker would have to convince them to visit the Web site, typically by getting them to click a link in an e-mail message or Instant Messenger message that takes them to the attacker's site.

What is a URI?
A Uniform Resource Identifier (URI) is a string of characters used to act on or identify resources from the Internet or over a network. A URL is a typical example of a URI that references a resource such as a Web site. For more information about URIs, see RFC-2396.

What does the update do?
The security update addresses the vulnerability by correcting the manner in which the SMB client handles specially crafted SMB responses.

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 when this security bulletin was originally issued.

Other Information
Acknowledgments

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

Mark Rabinovich of Visuality Systems Ltd. for reporting the SMB Client Memory Allocation Vulnerability (CVE-2010-0269)

Laurent Gaffié of stratsec for reporting the SMB Client Transaction Vulnerability (CVE-2010-0270)

Laurent Gaffié of stratsec for reporting the SMB Client Response Parsing Vulnerability (CVE-2010-0476)

Laurent Gaffié of stratsec for reporting the SMB Client Message Size Vulnerability (CVE-2010-0477)
Top of sectionTop of section
Microsoft Active Protections Program (MAPP)

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

Support

Customers in the U.S. and Canada can receive technical support from Security Support or 1-866-PCSAFETY. There is no charge for support calls that are associated with security updates. For more information about available support options, see Microsoft Help and Support.

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

Disclaimer

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

Revisions

V1.0 (April 13, 2010): Bulletin published.