CWEweakness
CWE-140 Improper Neutralization of Delimiters
- Abstraction
- Base
- Structure
- Simple
- Status
- Draft
- Languages
- Not Language-Specific
- CWE version
- 5.0
Description
The product does not neutralize or incorrectly neutralizes delimiters.
Common consequences
• Integrity: Unexpected State
Potential mitigations
• [Implementation] Developers should anticipate that delimiters 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.
• [Implementation] Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."
Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
• [Implementation] While it is risky to use dynamically-generated query strings, code, or commands that mix control and data together, sometimes it may be unavoidable. Properly quote arguments and escape any special characters within those arguments. The most conservative approach is to escape or filter all characters that do not pass an extremely strict allowlist (such as everything that is not alphanumeric or white space). If some special characters are still needed, such as white space, wrap each argument in quotes after the escaping/filtering step. Be careful of argument injection (CWE-88).
• [Implementation] Inputs should be decoded and canonicalized to the application's current internal representation before being validated (CWE-180). Make sure that the application does not decode the same input twice (CWE-174). Such errors could be used to bypass allowlist validation schemes by introducing dangerous inputs after they have been checked.
Observed examples
• CVE-2003-0307: Attacker inserts field separator into input to specify admin privileges.
• CVE-2000-0293: Multiple internal space, insufficient quoting - program does not use proper delimiter between values.
• CVE-2001-0527: Attacker inserts carriage returns and "|" field separator characters to add new user/privileges.
• CVE-2002-0267: Linebreak in field of PHP script allows admin privileges when written to data file.
Related
Attack pattern · CAPEC (1)
- CAPEC-15 Command Delimiters attack pattern
Observed example · CVE (4)
- CVE-2003-0307 Poster version.two allows remote authenticated users to gain administrative privileges by appending the "|" field separator and an "admin"… vulnerability
- CVE-2002-0267 preferences.php in Simple Internet Publishing System (SIPS) before 0.3.1 allows remote attackers to gain administrative privileges via a… vulnerability
- CVE-2001-0527 DCScripts DCForum versions 2000 and earlier allow a remote attacker to gain additional privileges by inserting pipe symbols (|) and… vulnerability
- CVE-2000-0293 aaa_base in SuSE Linux 6.3, and cron.daily in earlier versions, allow local users to delete arbitrary files by creating files whose names… vulnerability
Child of · CWE (1)
- CWE-138 Improper Neutralization of Special Elements weakness
Referenced by CAPEC · weakness (1)
- CAPEC-15 Command Delimiters attack pattern
Referenced by CVE · weakness (22)
- CVE-2026-104040 A flaw was found in SSSD. vulnerability
- CVE-2026-104047 A flaw was found in SSSD. vulnerability
- CVE-2026-47162 Vim is an open source, command line text editor. vulnerability
- CVE-2026-6322 fast-uri normalize() decoded percent-encoded authority delimiters inside the host component and then re-emitted them as raw delimiters… vulnerability
- CVE-2026-33455 Livestatus injection in the monitoring quicksearch in Checkmk <2.5.0b4 allows an authenticated attacker to inject livestatus commands via… vulnerability
- CVE-2026-33456 Livestatus injection in the notification test mode in Checkmk <2.5.0b4 and <2.4.0p26 allows an authenticated user with access to the… vulnerability
- CVE-2026-33457 Livestatus injection in the prediction graph page in Checkmk <2.5.0b4, <2.4.0p26, and <2.3.0p47 allows an authenticated user to inject… vulnerability
- CVE-2026-21691 iccDEV provides a set of libraries and tools that allow for the interaction, manipulation, and application of International Color… vulnerability
- CVE-2025-52989 An Improper Neutralization of Delimiters vulnerability in the UI of Juniper Networks Junos OS and Junos OS Evolved allows a local,… vulnerability
- CVE-2025-32918 Improper neutralization of Livestatus command delimiters in autocomplete endpoint within the RestAPI of Checkmk versions <2.4.0p6,… vulnerability
- CVE-2025-48879 OctoPrint versions up until and including 1.11.1 contain a vulnerability that allows any unauthenticated attacker to send a manipulated… vulnerability
- CVE-2024-38866 Improper neutralization of input in Nagvis before version 1.9.47 which can lead to livestatus injection vulnerability
- CVE-2025-47779 Asterisk is an open-source private branch exchange (PBX). vulnerability
- CVE-2024-38865 Improper neutralization of livestatus command delimiters in a specific endpoint within RestAPI of Checkmk prior to 2.2.0p39, 2.3.0p25, and… vulnerability
- CVE-2024-42385 Improper Neutralization of Delimiters vulnerability in Cesanta Mongoose Web Server v7.14 allows to trigger an out-of-bound memory write if… vulnerability
- CVE-2024-42392 Improper Neutralization of Delimiters vulnerability in Cesanta Mongoose Web Server v7.14 allows to trigger an infinite loop bug if the… vulnerability
- CVE-2024-42482 fish-shop/syntax-check is a GitHub action for syntax checking fish shell files. vulnerability
- CVE-2024-6542 Improper neutralization of livestatus command delimiters in mknotifyd in Checkmk <= 2.0.0p39, < 2.1.0p47, < 2.2.0p32 and < 2.3.0p11 allows… vulnerability
- CVE-2023-6156 Improper neutralization of livestatus command delimiters in the availability timeline in Checkmk <= 2.0.0p39, < 2.1.0p37, and < 2.2.0p15… vulnerability
- CVE-2023-6157 Improper neutralization of livestatus command delimiters in ajax_search in Checkmk <= 2.0.0p39, < 2.1.0p37, and < 2.2.0p15 allows arbitrary… vulnerability
- CVE-2023-38488 Kirby is a content management system. vulnerability
- CVE-2023-31208 Improper neutralization of livestatus command delimiters in the RestAPI in Checkmk < 2.0.0p36, < 2.1.0p28, and < 2.2.0b8 (beta) allows… vulnerability
Referenced by CWE · child of (6)
- CWE-141 Improper Neutralization of Parameter/Argument Delimiters weakness
- CWE-142 Improper Neutralization of Value Delimiters weakness
- CWE-143 Improper Neutralization of Record Delimiters weakness
- CWE-144 Improper Neutralization of Line Delimiters weakness
- CWE-145 Improper Neutralization of Section Delimiters weakness
- CWE-146 Improper Neutralization of Expression/Command Delimiters weakness