‘Vulnerability in Server Message Block Allows Remote Code Execution (MS05-011)’
‘The original article can be found at: http://www.microsoft.com/technet/security/bulletin/MS05-011.mspx‘
* Microsoft Windows 2000 Service Pack 3 and Microsoft Windows 2000 Service Pack 4 – Download the update
* Microsoft Windows XP Service Pack 1 and Microsoft Windows XP Service Pack 2 – Download the update
* Microsoft Windows XP 64-Bit Edition Service Pack 1 (Itanium) – Download the update
* Microsoft Windows XP 64-Bit Edition Version 2003 (Itanium) – Download the update
* Microsoft Windows Server 2003 – Download the update
* Microsoft Windows Server 2003 for Itanium-based Systems – Download the update
* Microsoft Windows 98, Microsoft Windows 98 Second Edition (SE), and Microsoft Windows Millennium Edition (ME)
Server Message Block Vulnerability – CAN-2005-0045
* Network-based attacks using broadcast packets would typically be limited to the local subnet because most routers do not forward broadcast packets.
* 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. By default, the Windows Firewall that is provided as part of Windows XP Service Pack 2 blocks the affected ports from responding to network based attempts to exploit this vulnerability. However, Windows XP Service Pack 2 would still vulnerable to the Web-based attack scenarios.
* In a Web-based attack scenario, an attacker would have to host a Web site that contains a Web page that is used to exploit this vulnerability. An attacker could also attempt to compromise a Web site to have it display a Web page with malicious content. An attacker would have no way to force users to visit a Web site. Instead, an attacker would have to persuade them to visit the Web site, typically by getting them to click a link that takes them to the attacker’s site or to a site that has been compromised by the attacker.
* The vulnerability could not be exploited automatically through e-mail. For an attack to be successful a user must click a link that is sent in an e-mail message.
Microsoft has tested the following workarounds. While these workarounds will not correct the underlying vulnerability, they help block known attack vectors. When a workaround reduces functionality, it is identified in the following section.
Note Other protocols such as IPX/SPX could be vulnerable to this issue. If those protocols are in use, it would be important to block the appropriate ports for those protocols as well. For more information about IPX/SPX, see the following Microsoft Web site.
* Block TCP ports 139 and 445 at the firewall:
These ports are used to initiate a connection with the affected protocol. Blocking them at the firewall, both inbound and outbound, will help prevent systems that are behind that firewall from attempts to exploit this vulnerability. We recommend that you block all unsolicited inbound communication from the Internet to help prevent attacks that may use other ports. For more information about the ports, visit the following Web site.
* To help protect from network-based attempts to exploit this vulnerability, use a personal firewall, such as the Internet Connection Firewall, which is included with Windows XP and with Windows Server 2003.
By default, the Internet Connection Firewall feature in Windows XP and in Windows Server 2003 helps protect your Internet connection by blocking unsolicited incoming traffic. We recommend that you block all unsolicited incoming communication from the Internet.
To enable the Internet Connection Firewall feature by using the Network Setup Wizard, follow these steps:
1. Click Start, and then click Control Panel.
2. In the default Category View, click Network and Internet Connections, and then click Setup or change your home or small office network. The Internet Connection Firewall feature is enabled when you select a configuration in the Network Setup Wizard that indicates that your system is connected directly to the Internet.
To configure Internet Connection Firewall manually for a connection, follow these steps:
1. Click Start, and then click Control Panel.
2. In the default Category View, click Networking and Internet Connections, and then click Network Connections.
3. Right-click the connection on which you want to enable Internet Connection Firewall, and then click Properties.
4. Click the Advanced tab.
5. Click to select the Protect my computer or network by limiting or preventing access to this computer from the Internet check box, and then click OK.
Note If you want to enable certain programs and services to communicate through the firewall, click Settings on the Advanced tab, and then select the programs, the protocols, and the services that are required.
* To help protect from network-based attempts to exploit this vulnerability, use a personal firewall, enable advanced TCP/IP filtering on systems that support this feature.
You can enable advanced TCP/IP filtering to block all unsolicited inbound traffic. For more information about how to configure TCP/IP filtering, see Microsoft Knowledge Base Article 309798.
* To help protect from network-based attempts to exploit this vulnerability, use a personal firewall, block the affected ports by using IPSec on the affected systems.
Use Internet Protocol security (IPSec) to help protect network communications. Detailed information about IPSec and about how to apply filters is available in Microsoft Knowledge Base Article 313190 and Microsoft Knowledge Base Article 813878.
Frequently Asked Questions:
What is the scope of the vulnerability?
This is a remote code execution vulnerability. An attacker who successfully exploited this vulnerability could remotely 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 results because of the process that the affected operating systems use to validate certain incoming SMB packets.
What is SMB?
Server Message Block (SMB), and its follow-on, Common Internet File System (CIFS), is the Internet Standard protocol that Windows uses to share files, printers, serial ports, and also to communicate between computers. To do this, SMB uses named pipes and mail slots. In a networked environment, servers make file systems and resources available to clients. Clients make SMB requests for resources. Servers make SMB responses. This is described as a client server, request-response protocol.
Does this vulnerability also affect CIFS?
Common Internet File System (CIFS) is an Internet Standard protocol. The vulnerability described here resides specifically in Microsoft’s implementation of the protocol and not the protocol itself.
What might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could take complete control of the affected system.
Who could exploit the vulnerability?
Any anonymous user who could deliver a specially crafted message to the affected system could try to exploit this vulnerability.
How could an attacker exploit the vulnerability?
There are several different ways that an attacker could try to exploit this vulnerability. An attacker could try to exploit the vulnerability directly over a network by creating a series of specially crafted messages and sending them to an affected system. These messages could require an attacker to use broadcast packets. The messages could then cause the affected system to execute code. The network based attacks that require the use of broadcast packets would typically be limited to local subnets since routers do not typically forward broadcast packets.
Also, an attacker could attempt to exploit this vulnerability by persuading the user to view or to preview an e-mail message that contains a URL and then persuade the user to then click the URL.
An attacker could also access the affected component through another vector. For example, an attacker could use another program that passes parameters to the vulnerable component either locally or remotely.
What systems are primarily at risk from the vulnerability?
All affected operating systems are at risk from this vulnerability. By default, the Windows Firewall that is provided as part of Windows XP Service Pack 2 blocks the affected ports from responding to network based attempts to exploit this vulnerability. However, Windows XP Service Pack 2 would still vulnerable to the Web-based attack scenarios.
Could the vulnerability be exploited over the Internet?
Yes. An attacker could try to exploit this vulnerability over the Internet. Firewall best practices and standard default firewall configurations can help protect against attacks that originate from the Internet. Microsoft has provided information about how you can help protect your PC. End users can visit the Protect Your PC Web site. IT professionals can visit the Security Guidance Center Web site.
What does the update do?
The update removes the vulnerability by modifying the way that the affected operating systems validate SMB network packets before it passes the data to the allocated buffer.
When this security bulletin was issued, had this vulnerability been publicly disclosed?
No. Microsoft received information about this vulnerability through responsible disclosure. Microsoft had not received any information to indicate that this vulnerability had been publicly disclosed when this security bulletin was originally issued.
When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
No. Microsoft had not received any information to indicate that this vulnerability had been publicly used to attack customers and had not seen any examples of proof of concept code published when this security bulletin was originally issued.’