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.
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
