CAPEC Definitions

    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.

    Severity:High
    Possibility:High

    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