CWE
CWE/SANS Top 25 Most Dangerous Software Errors Common Weakness Scoring System
Common Weakness Risk Analysis Framework
Home > CWE List > CWE- Individual Dictionary Definition (2.4)  

CWE-350: Improperly Trusted Reverse DNS

 
Improperly Trusted Reverse DNS
Weakness ID: 350 (Weakness Base)Status: Draft
+ Description

Description Summary

The software trusts the hostname that is provided when performing a reverse DNS resolution on an IP address, without also performing forward resolution.
+ Time of Introduction
  • Architecture and Design
+ Applicable Platforms

Languages

All

+ Common Consequences
ScopeEffect
Access Control

Technical Impact: Gain privileges / assume identity; Bypass protection mechanism

+ Demonstrative Examples

Example 1

In the example below, an authorization decision is made on the result of a reverse DNS lookup.

(Bad Code)
Example Language: Java 
InetAddress clientAddr = getClientInetAddr();
if (clientAddr != null && clientAddr.getHostName().equals("authorizedhost.authorizeddomain.com") {
authorized = true;
}
+ Observed Examples
ReferenceDescription
CVE-2001-1488Does not do double-reverse lookup to prevent DNS spoofing.
CVE-2001-1500Does not verify reverse-resolved hostnames in DNS.
CVE-2000-1221Authentication bypass using spoofed reverse-resolved DNS hostnames.
CVE-2002-0804Authentication bypass using spoofed reverse-resolved DNS hostnames.
CVE-2001-1155Filter does not properly check the result of a reverse DNS lookup, which could allow remote attackers to bypass intended access restrictions via DNS spoofing.
CVE-2004-0892Reverse DNS lookup used to spoof trusted content in intermediary.
CVE-2003-0981Product records the reverse DNS name of a visitor in the logs, allowing spoofing and resultant XSS.
+ Potential Mitigations

Phase: Implementation

Perform proper forward and reverse DNS lookups to detect DNS spoofing.

+ Relationships
NatureTypeIDNameView(s) this relationship pertains toView(s)
ChildOfWeakness ClassWeakness Class345Insufficient Verification of Data Authenticity
Development Concepts (primary)699
Research Concepts (primary)1000
ChildOfCategoryCategory898SFP Cluster: Authentication
Software Fault Pattern (SFP) Clusters (primary)888
+ Taxonomy Mappings
Mapped Taxonomy NameNode IDFitMapped Node Name
PLOVERImproperly Trusted Reverse DNS
+ Content History
Submissions
Submission DateSubmitterOrganizationSource
PLOVERExternally Mined
Modifications
Modification DateModifierOrganizationSource
2008-07-01Sean EidemillerCigitalExternal
added/updated demonstrative examples
2008-09-08CWE Content TeamMITREInternal
updated Relationships, Taxonomy_Mappings
2009-05-27CWE Content TeamMITREInternal
updated Relationships
2010-09-27CWE Content TeamMITREInternal
updated Potential_Mitigations
2011-06-01CWE Content TeamMITREInternal
updated Common_Consequences
2012-05-11CWE Content TeamMITREInternal
updated Related_Attack_Patterns, Relationships
Page Last Updated: February 20, 2013