CAPEC Definitions

    CAPEC Definitions / CAPEC-53

    CAPEC-53: Postfix, Null Terminate, and Backslash

    If a string is passed through a filter of some kind, then a terminal NULL may not be valid. Using alternate representation of NULL allows an adversary to embed the NULL mid-string while postfixing the proper data so that the filter is avoided. One example is a filter that looks for a trailing slash character. If a string insertion is possible, but the slash must exist, an alternate encoding of NULL in mid-string may be used.

    Severity:High
    Possibility:High

    Extended Description

    No Extended Description.

    Mitigations

    Properly handle Null characters. Make sure canonicalization is properly applied. Do not pass Null characters to the underlying APIs.

    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.

    Relationships with other CAPECs

    CAPEC-267: Leverage Alternate Encoding

    Prerequisites

    Null terminators are not properly handled by the filter.

    Related Weaknesses

    CWE-158: Improper Neutralization of Null Byte or NUL Character

    CWE-172: Encoding Error

    CWE-173: Improper Handling of Alternate Encoding

    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-707: Improper Neutralization