703
CWE-289: Authentication Bypass by Alternate Name
Weakness ID : 289
Structure : Simple
Abstraction : Base
Description
The product performs authentication based on the name of a resource being accessed, or the
name of the actor performing the access, but it does not properly check all possible names for that
resource or actor.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name Page
ChildOf 1390 Weak Authentication 2267
CanFollow 46 Path Equivalence: 'filename ' (Trailing Space) 96
CanFollow 52 Path Equivalence: '/multiple/trailing/slash//' 103
CanFollow 173 Improper Handling of Alternate Encoding 435
CanFollow 178 Improper Handling of Case Sensitivity 445
Relevant to the view "Architectural Concepts" (CWE-1008)
Nature Type ID Name Page
MemberOf 1010 Authenticate Actors 2424
Relevant to the view "Software Development" (CWE-699)
Nature Type ID Name Page
MemberOf 1211 Authentication Errors 2475
Applicable Platforms
Language : Not Language-Specific (Prevalence = Undetermined)
Common Consequences
Scope Impact Likelihood
Access Control Bypass Protection Mechanism
Potential Mitigations
Phase: Architecture and Design
Strategy = Input Validation
Avoid making decisions based on names of resources (e.g. files) if those resources can have
alternate names.
Phase: Implementation
Strategy = Input Validation
Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use
a list of acceptable inputs that strictly conform to specifications. Reject any input that does not
strictly conform to specifications, or transform it into something that does. When performing
input validation, consider all potentially relevant properties, including length, type of input, the
full range of acceptable values, missing or extra inputs, syntax, consistency across related
fields, and conformance to business rules. As an example of business rule logic, "boat" may be
syntactically valid because it only contains alphanumeric characters, but it is not valid if the input
CWE Version 4.14
CWE-289: Authentication Bypass by Alternate Name
CWE-289: Authentication Bypass by Alternate Name