This vulnerability occurs when an application successfully blocks or sanitizes a known set of dangerous inputs but fails to recognize and handle alternative forms that have the same meaning or effect.
This flaw often stems from an incomplete security filter. Developers might implement a defense against a specific list of characters, commands, or syntax patterns, but attackers can bypass these checks by using functionally equivalent alternatives. For example, a filter might block a single-dash command-line switch like `-e` but overlook the double-dash equivalent `--exec`, which performs the same operation. These bypasses frequently involve alternate encodings, different representations, or platform-specific expansions. On a Unix-like system, an application might filter out a leading slash (`/`) to prevent absolute file paths but not account for the tilde (`~username`) notation, which the shell expands to an absolute path. The core issue is that the validation logic does not understand the underlying semantics of the data it's processing, only its surface-level form.
Impact: Other
High