Incomplete Filtering of One or More Instances of Special Elements |
Weakness ID: 792 (Weakness Variant) | Status: Incomplete |
Description Summary
Extended Description
Incomplete filtering of this nature involves either
1) only filtering a single instance of a special element when more exist, or
2) not filtering all instances or all elements where multiple special elements exist.
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.
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:
will have the first "../" stripped, resulting in:
This value is then concatenated with the /home/user/ directory:
which causes the /etc/passwd file to be retrieved once the operating system has resolved the ../ sequences in the pathname. This leads to relative path traversal (CWE-23).
Nature | Type | ID | Name | View(s) this relationship pertains to![]() |
---|---|---|---|---|
ChildOf | ![]() | 791 | Incomplete Filtering of Special Elements | Research Concepts (primary)1000 |
ParentOf | ![]() | 793 | Only Filtering One Instance of a Special Element | Research Concepts (primary)1000 |
ParentOf | ![]() | 794 | Incomplete Filtering of Multiple Instances of Special Elements | Research Concepts (primary)1000 |