83
Nature Type ID Name Page
ChildOf 36 Absolute Path Traversal 75
Applicable Platforms
Language : Not Language-Specific (Prevalence = Undetermined)
Common Consequences
Scope Impact Likelihood
Integrity
Confidentiality
Availability
Execute Unauthorized Code or Commands
The attacker may be able to create or overwrite critical
files that are used to execute code, such as programs or
libraries.
Integrity Modify Files or Directories
The attacker may be able to overwrite or create critical
files, such as programs, libraries, or important data. If
the targeted file is used for a security mechanism, then
the attacker may be able to bypass that mechanism.
For example, appending a new account at the end
of a password file may allow an attacker to bypass
authentication.
Confidentiality Read Files or Directories
The attacker may be able read the contents of unexpected
files and expose sensitive data. If the targeted file is used
for a security mechanism, then the attacker may be able
to bypass that mechanism. For example, by reading a
password file, the attacker could conduct brute force
password guessing attacks in order to break into an
account on the system.
Availability DoS: Crash, Exit, or Restart
The attacker may be able to overwrite, delete, or corrupt
unexpected critical files such as programs, libraries,
or important data. This may prevent the software from
working at all and in the case of a protection mechanisms
such as authentication, it has the potential to lockout every
user of the software.
Potential Mitigations
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 is only expected to contain colors such as "red" or "blue." Do not rely exclusively on
looking for malicious or malformed inputs. This is likely to miss at least one undesirable input,
especially if the code's environment changes. This can give attackers enough room to bypass
the intended validation. However, denylists can be useful for detecting potential attacks or
determining which inputs are so malformed that they should be rejected outright. When validating
filenames, use stringent allowlists that limit the character set to be used. If feasible, only allow a
single "." character in the filename to avoid weaknesses such as CWE-23, and exclude directory
CWE Version 4.14
CWE-39: Path Traversal: 'C:dirname'
CWE-39: Path Traversal: 'C:dirname'