|
|
|
|
| |
Credit:
The information has been provided by Microsoft Security Bulletin MS07-029.
The original article can be found at:
http://www.microsoft.com/technet/security/bulletin/ms07-029.mspx
|
| |
Affected Software:
* Microsoft Windows 2000 Server Service Pack 4 - Download the update
* Microsoft Windows Server 2003 Service Pack 1 and Microsoft Windows Server 2003 Service Pack 2 - Download the update
* Microsoft Windows Server 2003 with SP1 for Itanium-based Systems and Microsoft Windows Server 2003 with SP2 for Itanium-based Systems - Download the update
* Microsoft Windows Server 2003 x64 Edition Service Pack 1 and Microsoft Windows Server 2003 x64 Edition Service Pack 2 - Download the update
Non-Affected Software:
* Microsoft Windows 2000 Professional Service Pack 4
* Microsoft Windows XP Service Pack 2
* Microsoft Windows XP Professional x64 Edition and Microsoft Windows XP Professional x64 Edition Service Pack 2
* Windows Vista
* Windows Vista x64 Edition
A remote code execution vulnerability exists in the Domain Name System (DNS) Server Service in all supported server versions of Windows that could allow an attacker who successfully exploited this vulnerability to take complete control of the affected system.
Mitigating Factors for DNS RPC Management Vulnerability - CVE-2007-1478:
The DNS Server Service may not be enabled by default in certain server role configurations. On Domain Controller, DNS Server, and Microsoft Small Business Server configurations the DNS Server Service is enabled by default.
Workarounds for DNS RPC Management Vulnerability - CVE-2007-1748:
Microsoft has tested the following workarounds. While the workaround will not correct the underlying vulnerability, it helps block known attack vectors. Specifically, all these workarounds have been tested and shown to block attempts to exploit the vulnerability over RPC traffic as well as port 139 and 445. When a workaround reduces functionality, it is identified in the following section.
* Disable remote management over RPC capability for DNS Servers through the registry key setting.
Note Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.
For information about how to edit the registry, view the "Changing Keys And Values" Help topic in Registry Editor (Regedit.exe) or view the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in regedit.exe.
Note We recommend backing up the registry before you edit it.
1. On the start menu click 'Run' and then type 'Regedit' and then press ENTER.
2. Navigate to the following registry location:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters .
3. On the 'Edit' menu select 'New' and then click 'DWORD Value'.
4. Where 'New Value #1' is highlighted type 'RpcProtocol' for the name of the value and then press ENTER.
5. Double-click on the newly created value and change the value's datato '4' (without the quotes).
6.
Restart the DNS service for the change to take effect.
Managed Deployment Script
The following sample registry script can be used to enable this registry setting:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters]
"RpcProtocol"=dword:00000004
The above registry script can be saved to a file with a .REG file extension and can be deployed silently as part of an automated deployment script using regedit.exe using the /s command line switch.
The DNS service needs to be restarted for this change to take effect.
For help using regedit.exe to deploy registry scripts please refer to Microsoft Knowledge Base Article Q82821: Registration Info Editor (REGEDIT) Command-Line Switches.
How to undo workaround: To undo the workaround perform the following steps:
1 .On the start menu click 'Run' and then type 'Regedit' and then press ENTER.
2. Navigate to the following registry location:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters .
3. Select Registry Key RpcProtocol.
4. Right click on the RpcProtocol Key and select Delete.
5. Restart the DNS service for the change to take effect.
RpcProtocol registry key values
The value 4 being used above restricts the DNS RPC interface to local procedure calls (LPC) only. This allows for local management only.
The following values are available for the RpcProtocol registry entry:
0x1 - This value corresponds to a setting of DNS_RPC_USE_TCPIP #define DNS_RPC_USE_NAMED_PIPE0x2
0x2 - This value corresponds to a setting of DNS_RPC_USE_NAMED_PIPE
0x4 - This value corresponds to a setting of DNS_RPC_USE_LPC
*Disable the capacity for remote management over RPC
You can re-configure the DNS server s management interface to accept only LPC by setting a value in the registry. Other registry values will modify or disable RPC communication differently. For more information on the RpcProtocol registry key please see the following TechNet article.
88
Setting the value to 4 will mitigate a remote attempt to exploit the vulnerability
Setting the value to 0 will disable all DNS RPC functionality and will protect against both local and remote attempts to exploit the vulnerability.
Impact of Workaround: Setting the registry value to 4 will disable remote management and configuration of DNS server functionality using RPC or WMI. DNS management tools, will fail to work remotely. Local management and remote management through terminal services can be still used to manage your DNS Server configuration.
You will still be able to use the DNS management MMC Snap-in, DNSCMD.exe, and the DNS WMI provider if they are run locally from the server.
Setting the registry value to 0 will disable all DNS RPC management capability including local administration and configuration.
DNS Server local administration and configuration may not work if the server being managed has a computer name of 15 characters and is selected by its computer name. To avoid this issue, use the Fully Qualified Domain Name (FQDN) of the computer being managed in the DNS administration tools.
Block the following at the firewall:
Block TCP and UDP port 445 and 139 as well as all unsolicited inbound traffic on ports greater than 1024.
The RPC interface of Windows DNS is bound to a port greater than 1024. While the majority of RPC port binding occurs between the 1024 to 5000 range it is possible for the RPC interface to bind to higher unreserved port numbers. Blocking them at the firewall will help protect 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 ports that RPC uses, visit the following Web site. To block all unsolicited RPC requests while preserving DNS management functionality please see Microsoft Knowledge Base Article 555381.
NoteAn attacker would need to authenticate using a valid username and password to exploit the vulnerability using ports 139 or 445.
Impact of Workaround: Remote management of DNS server functionality using RPC will be disabled. DNS management tools, will fail to work remotely. Local and remote management through terminal services can be still used to manage your DNS Server configuration.
This includes the DNS management MMC Snap-in, DNSCMD.exe, DNS WMI provider. Additional management and control functionality may be lost for applications or components that use the affected ports.
Blocking port 445 will prevent computers from connecting to the server through SMB, and prevent servers from accessing shared network folders. Management tools that depend on SMB for connectivity will be unable to connect to the server.
Enable advanced TCP/IP filtering on systems
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.
Block TCP and UDP port 445 and 139 as well as affected ports greater than 1024 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.
Note An attacker will need to authenticate using a valid username and password to exploit the vulnerability using ports 139 or 445.
Impact of Workaround: Remote management of DNS server functionality using RPC will be disabled. DNS management tools, will fail to work remotely. Local and remote management through terminal services can be still used to manage your DNS Server configuration.
FAQ for DNS RPC Management Vulnerability - CVE-2077-1748:
This includes the DNS management MMC Snap-in, DNSCMD.exe, and the DNS WMI provider. Additional management and control functionality may be lost for applications or components that use affected ports.
Blocking port 445 will prevent computers connecting to the server through SMB as well as the server will being unable to access folders shared on the network. Management tools that depend on SMB for connectivity will be unable to connect to the server.
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?
A stack-based buffer overrun exists in the Remote Procedure Call (RPC) Management Interface in the Windows Domain Name System (DNS) Server service.
What is Remote Procedure Call (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 might an attacker use the vulnerability to do?
An attacker who successfully exploited this vulnerability could take complete control of the affected system.
How could an attacker exploit the vulnerability?
On servers running the DNS Server Service on all supported server versions of Windows, an anonymous attacker could try to exploit the vulnerability by sending a specially crafted RPC packet to an affected system. The vulnerability could allow an attacker to run code in the security context of the Domain Name System Server Service, which by default runs as Local SYSTEM.
What systems are primarily at risk from the vulnerability?
DNS Servers, Domain Controllers and Small Business Servers are primarily at risk. These systems could be at more risk if they are placed on untrusted networks where unsolicited PRC management traffic permitted However, firewall best practices strongly discourage allowing this.
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.
What does the update do?
The update removes the vulnerability by modifying the way that RPC validates the length of a message before it passes the message to the allocated buffer.
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-2007-1748.
When this security bulletin was issued, had Microsoft received any reports that this vulnerability was being exploited?
Yes. When the security bulletin was released, Microsoft had received information that this vulnerability was being exploited.
Does this security update remove or roll back any of the mitigation listed in Microsoft Security Advisory (935964)?
No. This security update does not remove or undo any of the mitigations recommended in Microsoft Security Advisory (935964) Vulnerability in RPC on Windows DNS Server Could Allow Remote Code Execution . If any of the mitigations were deployed as recommended in the Advisory, users may manually remove them after the successful installation of the security update.
Does applying this security update help protect customers from the code that has been 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-2007-1748.
|
|
|
|
|