Vulnerability Note VU#458659

Microsoft Windows domain name resolver service accepts responses from non-queried DNS servers by default

Original Release date: 22 Jul 2002 | Last revised: 30 Aug 2002

Overview

Systems running Microsoft Windows 98, NT, Windows 2000, or Windows XP DNS resolvers accept DNS replies from any IP address, not just the ones being sent DNS requests. This may lead to domain information spoofing or DNS cache poisoning.

Description

Microsoft Windows systems use a caching domain name resolver service running on the computer to handle domain name service (DNS) requests and responses for applications. For example, when a user browses to www.microsoft.com in Internet Explorer, a DNS request is sent to some predetermined nameserver for an answer to the question, "What IP address should I connect to when looking for the machine that goes by the name 'www.microsoft.com'?" The answer returned (typically from the nameserver) is then stored in a cache which can then be reused when future requests for the same name information are made by other applications.


However, the Microsoft Windows domain name resolver service accepts responses from non-queried DNS servers by default. These resolvers will only match the source IP address of incoming response messages with their corresponding outgoing request destination IP addresses when the registry key named QueryIpMatching is set to "1". This essentially automatically fulfills one precondition necessary to trick victim DNS resolver clients into accepting attacker-determined domain name information.

When a remote attacker attempts to poison a victim resolver cache, QueryIpMatching may offer some benefit. Two pieces of information are then needed to perpetrate a domain name spoof attack (or directed service cache poisoning):

  1. The address of the name server the victim expects responses from;
  2. The query id expected in response to an outstanding name request made for an address the attacker is hoping to redirect.

Without QueryIpMatching being set, an attacker "only" needs the outstanding query id. As noted in CA-2001-09, this may not be a difficult precondition to fulfill, depending on the implementation of the resolvers in question.

In the presence of an attacker capable of sniffing local network traffic (garnering queryids, spoofing valid DNS servers), other risks become apparent. Obviously matching IP addresses in this scenario adds little to no security benefit since the target nameserver IP address can be easily known and spoofed in the absence of any cryptographic protection (e.g., IPSEC, DNSSEC).

Impact

Attackers able to successfully predict the query id of DNS requests initiated by client systems would be able to corrupt DNS responses and potentially misdirect network traffic and mislead victims. This could result in identity masquerading, loss of confidential information, denial of service, and other impacts typically associated with DNS cache corruption (cache pollution) or domain name information spoofing.

Solution

The previously-published solution utilizing the registry key IpQueryMatching does not work for all versions of Windows. Microsoft is currently investigating this issue and expects to provide more complete solution information in the near future.

Use cryptographic protection of either the site DNS or network traffic (i.e., use DNSSEC or IPSEC). Note use of DNSSEC may not be feasible by sites with older resolvers unable to validate DNSSEC-secured domain name information.

Systems Affected (Learn More)

VendorStatusDate NotifiedDate Updated
Microsoft CorporationAffected07 Jan 200222 Jul 2002
If you are a vendor and your product is affected, let us know.

CVSS Metrics (Learn More)

Group Score Vector
Base N/A N/A
Temporal N/A N/A
Environmental N/A N/A

References

Credit

The CERT/CC thanks Hank Nussbacher <hank@riverhead.com> of Riverhead Networks for raising awareness on this issue. This issue was previously documented in the ISS X-Force Database as win2k-dns-resolver (4280).

This document was written by Jeffrey S. Havrilla.

Other Information

  • CVE IDs: Unknown
  • Date Public: 14 Apr 2000
  • Date First Published: 22 Jul 2002
  • Date Last Updated: 30 Aug 2002
  • Severity Metric: 10.50
  • Document Revision: 48

Feedback

If you have feedback, comments, or additional information about this vulnerability, please send us email.