The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could be interpreted as macro symbols when they are sent to a downstream component.
View on MITREDevelopers should anticipate that macro symbols 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.
Server trusts client to expand macros, allows macro characters to be expanded to trigger resultant information exposure.
View DetailsAttacker can obtain sensitive information from a database by using a comment containing a macro, which inserts the data during expansion.
View DetailsCWE-152: Improper Neutralization of Macro Symbols 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 macro symbols when they are sent to a downstream component.
If exploited, CWE-152 (Improper Neutralization of Macro Symbols) it can compromise Integrity, leading to outcomes such as Unexpected State.
Recommended mitigations for CWE-152 include: Developers should anticipate that macro symbols 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-152 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-152, including CVE-2002-0770 and CVE-2008-2018. 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-152 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.