The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as escape, meta, or control character sequences when they are sent to a downstream component.
View on MITREAs data is parsed, an injected/absent/malformed delimiter may cause the process to take unexpected actions.
Developers should anticipate that escape, meta and control characters/sequences will be injected/removed/manipulated in the input vectors of their product. Use an appropriate combination of denylists and allowlists to ensure only valid, expected and appropriate input is processed by the system.
No detection method information available for this CWE.
The mail program processes special "~" escape sequence even when not in interactive mode.
View DetailsSetuid program does not filter escape sequences before calling mail program.
View DetailsMail function does not filter control characters from arguments, allowing mail message content to be modified.
View DetailsMulti-channel issue. Terminal escape sequences not filtered from log files.
View DetailsMulti-channel issue. Terminal escape sequences not filtered from log files.
View DetailsMFV. (multi-channel). Injection of control characters into log files that allow information hiding when using raw Unix programs to read the files.
View DetailsCWE-150: Improper Neutralization of Escape, Meta, or Control Sequences is a Common Weakness Enumeration (CWE) entry maintained by MITRE. The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as escape, meta, or control character sequences when they are sent to a downstream component. As data is parsed, an injected/absent/malformed delimiter may cause the process to take unexpected actions.
If exploited, CWE-150 (Improper Neutralization of Escape, Meta, or Control Sequences) it can compromise Integrity, leading to outcomes such as Unexpected State.
Recommended mitigations for CWE-150 include: Developers should anticipate that escape, meta and control characters/sequences will be injected/removed/manipulated in the input vectors of their product. Use an appropriate combination of denylists and allowlists to ensure only valid, expected and appropriate input is processed by the system.
CWE-150 commonly affects Not Language-Specific. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.
MITRE documents real CVEs mapped to CWE-150, including CVE-2002-0542, CVE-2000-0703, CVE-2002-0986, CVE-2003-0020 and CVE-2003-0083. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.
A CWE (Common Weakness Enumeration) like CWE-150 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.