Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:16966
HistoryMay 08, 2007 - 12:00 a.m.

Microsoft Security Bulletin MS07-029 Vulnerability in Windows DNS RPC Interface Could Allow Remote Code Execution (935966)

2007-05-0800:00:00
vulners.com
28

Microsoft Security Bulletin MS07-029
Vulnerability in Windows DNS RPC Interface Could Allow Remote Code Execution (935966)
Published: May 8, 2007

Version: 1.0
Summary

Who Should Read this Document: Customers who use Microsoft Windows

Impact of Vulnerability: Remote Code Execution

Maximum Severity Rating: Critical

Recommendation: Customers should apply the update immediately

Security Update Replacement: None

Caveats: None

Tested Software and Security Update Download Locations:

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

The software in this list has been tested to determine whether the versions are affected. Other versions are either past their support life cycle or are not affected. To determine the support life cycle for your product and version, visit the Microsoft Support Lifecycle Web site.
Top of sectionTop of section
General Information

Executive Summary

Executive Summary:

This update resolves a publicly disclosed vulnerability. The vulnerability is documented in its own subsection in the Vulnerability Details section of this bulletin.

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.

We recommend that customers apply the update immediately.

Severity Ratings and Vulnerability Identifiers:
Vulnerability Identifiers Impact of Vulnerability Windows 2000 Server Service Pack 4 Windows Server 2003 Service Pack 1 and Windows Server 2003 Service Pack 2 Windows Server 2003 with SP1 for Itanium-based Systems and Windows Server 2003 with SP2 for Itanium-based Systems Windows Server 2003 x64 Edition Service Pack 1 and Windows Server 2003 x64 Edition Service Pack 2

DNS RPC Management Vulnerability - CVE-2007-1748

Remote Code Execution

Critical

Critical

Critical

Critical

This assessment is based on the types of systems that are affected by the vulnerability, their typical deployment patterns, and the effect that exploiting the vulnerability would have on them.

NoteThe DNS Server Service may not be enabled by default in certain server role configurations. In server configurations where it is not enabled by default the bulletin severity it is considered Important. The Bulletin severity of Critical is reserved for Domain Controller, DNS Server, and Microsoft Small Business Server configurations where the DNS Server Service is enabled by default.
Top of sectionTop of section

Frequently Asked Questions (FAQ) Related to This Security Update

I am using an older version of the software discussed in this security bulletin; what should I do?
Theaffected software listed in this bulletin has been tested to determine whether the versions are affected. Other versions are past their support life cycle. To determine the support life cycle for your product and version, visit the Microsoft Support Lifecycle Web site.

It should be a priority for customers who have older versions of the software to migrate to supported versions to prevent potential exposure to vulnerabilities. For more information about the Windows Product Lifecycle, visit the following Microsoft Support Lifecycle Web site. For more information about the extended security update support period for these operating system versions, visit the Microsoft Product Support Services Web site.

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

Can I use the Microsoft Baseline Security Analyzer (MBSA) to determine whether this update is required?
The following table provides the MBSA detection summary for this security update.
Product MBSA 1.2.1 MBSA 2.0.1

Microsoft Windows 2000 Server Service Pack 4

Yes

Yes

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

Yes

Yes

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

No

Yes

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

No

Yes

For more information about MBSA, visit the MBSA Web site. For more information about the software that Microsoft Update and MBSA 2.0 currently do not detect, see Microsoft Knowledge Base Article 895660.

What is the Enterprise Update Scan Tool (EST)?
As part of an ongoing commitment to provide detection tools for bulletin-class security updates, Microsoft delivers a stand-alone detection tool whenever Microsoft Baseline Security Analyzer 1.2.1 and the Office Detection Tool (ODT) cannot detect whether the update is required for an MSRC release cycle. This stand-alone tool is called the Enterprise Update Scan Tool (EST) and is designed for enterprise administrators. When a version of the Enterprise Update Scan Tool is created for a specific bulletin, customers can run the tool from a command-line interface (CLI) and view the results of the XML output file. To help customers better utilize the tool, detailed documentation will be provided with the tool. There is also a version of the tool that offers an integrated experience for SMS administrators.

Can I use Systems Management Server (SMS) to determine whether this update is required?
The following table provides the SMS detection summary for this security update.
Product SMS 2.0 SMS 2003

Microsoft Windows 2000 Server Service Pack 4

Yes

Yes

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

Yes

Yes

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

No

Yes

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

No

Yes

SMS 2.0 and SMS 2003 Software Update Services (SUS) Feature Pack can use MBSA 1.2.1 for detection and therefore have the same limitation that is listed earlier in this bulletin related to programs that MBSA 1.2.1 does not detect.

For SMS 2.0, the SMS SUS Feature Pack, which includes the Security Update Inventory Tool (SUIT), can be used by SMS to detect security updates. SMS SUIT uses the MBSA 1.2.1 engine for detection. For more information about SUIT, visit the following Microsoft Web site. For more information about the limitations of SUIT, see Microsoft Knowledge Base Article 306460. The SMS SUS Feature Pack also includes the Microsoft Office Inventory Tool to detect required updates for Microsoft Office applications.

For SMS 2003, the SMS 2003 Inventory Tool for Microsoft Updates (ITMU) can be used by SMS to detect security updates that are offered by Microsoft Update and that are supported by Windows Server Update Services. For more information about the SMS 2003 ITMU, visit the following Microsoft Web site. SMS 2003 can also use the Microsoft Office Inventory Tool to detect required updates for Microsoft Office applications.

For more information about SMS, visit the SMS Web site.

For more detailed information, see Microsoft Knowledge Base Article 910723: Summary list of monthly detection and deployment guidance articles.
Top of sectionTop of section

Vulnerability Details

DNS RPC Management Vulnerability - CVE-2007-1748:

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.
Top of sectionTop of section

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.

On the start menu click 'Run' and then type 'Regedit' and then press ENTER.

Navigate to the following registry location:
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters”.

On the 'Edit' menu select 'New' and then click 'DWORD Value'.

Where 'New Value #1' is highlighted type 'RpcProtocol' for the name of the value and then press ENTER.

Double-click on the newly created value and change the value's data to '4' (without the quotes).

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:

On the start menu click 'Run' and then type 'Regedit' and then press ENTER.

Navigate to the following registry location:
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters”.

Select Registry Key RpcProtocol.

Right click on the RpcProtocol Key and select Delete.

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.

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.

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.
Top of sectionTop of section
Top of sectionTop of section

FAQ for DNS RPC Management Vulnerability - CVE-2077-1748:

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.

Acknowledgments

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

Mark Hofman of the SANS ISC Handlers for working with us on the DNS RPC Management Vulnerability – (CVE-2007-1748).

Bill O'Malley with the Information Security Office at Carnegie Mellon University for working with us on the DNS RPC Management Vulnerability – (CVE-2007-1748).

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 (May 8, 2007): Bulletin published.