1681
Relevant to the view "Architectural Concepts" (CWE-1008)
Nature Type ID Name Page
MemberOf 1019 Validate Inputs 2433
Common Consequences
Scope Impact Likelihood
Integrity Unexpected State
Demonstrative Examples
Example 1:
The following code takes untrusted input and uses a regular expression to filter "../" from the input.
It then appends this result to the /home/user/ directory and attempts to read the file in the final
resulting path.
Example Language: Perl (Bad)
my $Username = GetUntrustedInput();
$Username =~ s/\.\.\///;
my $filename = "/home/user/" . $Username;
ReadAndSendFile($filename);
Since the regular expression does not have the /g global match modifier, it only removes the first
instance of "../" it comes across. So an input value such as:
Example Language: (Attack)
../../../etc/passwd
CWE Version 4.14
CWE-794: Incomplete Filtering of Multiple Instances of Special Elements
CWE-794: Incomplete Filtering of Multiple Instances of Special Elements