Umbra Wiki weakness weakness/CWE-76
Back to wiki

CWE-76 — Improper Neutralization of Equivalent Special Elements

provenance: imported · CWE: CWE-76

CWE-76: Improper Neutralization of Equivalent Special Elements

MITRE CWE weakness

Kind Weakness
Abstraction Base
Status Draft
Likelihood of exploit High

Description

The product correctly neutralizes certain special elements, but it improperly neutralizes equivalent special elements.

The product may have a fixed list of special characters it believes is complete. However, there may be alternate encodings, or representations that also have the same meaning. For example, the product may filter out a leading slash (/) to prevent absolute path names, but does not account for a tilde (~) followed by a user name, which on some *nix systems could be expanded to an absolute pathname. Alternately, the product might filter a dangerous "-e" command-line switch when calling an external program, but it might not account for "--exec" or other switches that have the same semantics.

Common consequences

  • Other: Other

Mitigations

Requirements — Programming languages and supporting technologies might be chosen which are not subject to these issues.

Implementation — Utilize an appropriate mix of allowlist and denylist parsing to filter equivalent special element syntax from all input.

References

  • CWE page: https://cwe.mitre.org/data/definitions/76.html
  • CWE list: https://cwe.mitre.org/data/index.html