CAPEC Definitions / CAPEC-267
CAPEC-267: Leverage Alternate Encoding
An adversary leverages the possibility to encode potentially harmful input or content used by applications such that the applications are ineffective at validating this encoding standard.
Extended Description
No Extended Description.
Mitigations
Assume all input might use an improper representation. Use canonicalized data inside the application; all data must be converted into the representation used inside the application (UTF-8, UTF-16, etc.)
Assume all input is malicious. Create an allowlist that defines all valid input to the software system based on the requirements specifications. Input that does not match against the allowlist should not be permitted to enter into the system. Test your decoding process against malicious input.
Relationships with other CAPECs
CAPEC-153: Input Data Manipulation
Prerequisites
The application's decoder accepts and interprets encoded characters. Data canonicalization, input filtering and validating is not done properly leaving the door open to harmful characters for the target host.
Related Weaknesses
CWE-173: Improper Handling of Alternate Encoding
CWE-172: Encoding Error
CWE-180: Incorrect Behavior Order: Validate Before Canonicalize
CWE-181: Incorrect Behavior Order: Validate Before Filter
CWE-73: External Control of File Name or Path
CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
CWE-20: Improper Input Validation
CWE-697: Incorrect Comparison
CWE-692: Incomplete Denylist to Cross-Site Scripting
