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.
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):
The address of the name server the victim expects responses from;
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.
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.
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.
Filter by status: All Affected Not Affected Unknown
Filter by content: __ Additional information available
__ Sort by: Status Alphabetical
Notified: January 07, 2002 Updated: July 22, 2002
The vendor has not provided us with any further information regarding this vulnerability.
The CERT/CC has no additional comments at this time.
If you have feedback, comments, or additional information about this vulnerability, please send us email.
Group | Score | Vector
Base | |
Temporal | |
Environmental | |
The CERT/CC thanks Hank Nussbacher 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.
CVE IDs: | None
Severity Metric: | 10.50
Date Public: | 2000-04-14
Date First Published: | 2002-07-22
Date Last Updated: | 2002-08-30 21:19 UTC
Document Revision: | 50