Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft multipart/form-data POST with newline-split payload
-
DeliverySend request through ModSecurity-protected endpoint
-
ExploitParser strips CR/LF from ARGS_POST value
-
ExecutionWAF rule fails to match sanitized value
-
PersistBackend reassembles original payload
-
ImpactInjection executes on protected application
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Leading special element handling
|
| Exploitation Conditions | Exploitation requires that the target application (1) is protected by ModSecurity/libmodsecurity earlier than 3.0.16, (2) accepts multipart/form-data request bodies, (3) enforces detection rules that inspect the ARGS or ARGS_POST collections, and (4) runs a backend that preserves embedded CR/LF in form-field values so its parsing diverges from ModSecurity's - the payload's malicious effect must specifically depend on a line break that ModSecurity removes but the backend keeps. It is unauthenticated and remote (CVSS PR:N/AV:N/UI:N, AC:L), so no credentials or user interaction are needed. What limits exploitation is the detection-gap nature of the flaw: it only matters where ModSecurity is the relied-upon control for the affected parameter, where a rule's match genuinely hinges on a preserved newline, and where the backend does not itself normalize away the same line break; it does not by itself grant code execution, disclose data, or affect requests sent as non-multipart content types. |
| Impact | This is a genuine security-control-bypass with a wide blast radius rather than a high-CVSS-but-low-impact issue: the CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N correctly captures a network-reachable, low-complexity, unauthenticated condition whose scope change (S:C) reflects that the harmed component is the protected backend, not ModSecurity itself, with high integrity impact and no confidentiality or availability loss. No EPSS score, KEV entry, POC, or SSVC decision data was supplied, so real-world exploitation frequency cannot be quantified from the input; absence of a KEV listing means there is no confirmation of active exploitation. The practical severity is modulated by a key dependency the CVSS score does not express: exploitation only yields impact when the defender actually relies on ModSecurity to inspect ARGS/ARGS_POST and when a rule's true/false decision hinges on a preserved line break, so the effective risk is a function of the deployed rule set and the specific backend's line-break handling rather than a universal RCE. Net: treat as a real priority for anyone using ModSecurity 3.x as a primary control, but recognize the impact is a detection gap, not direct code execution. |
| Exploit ScenarioDerived | An attacker submits a crafted multipart/form-data POST to an application fronted by ModSecurity, placing a malicious payload (for example an injection string whose dangerous syntax is split by an embedded newline) inside a non-file form field. ModSecurity strips the line break before writing the value to ARGS/ARGS_POST, so the CRS or custom rule that would have flagged the payload sees a benign-looking single line and passes the request, while the backend reassembles or interprets the original bytes and executes the intended attack. No POC is referenced in the available data, and the low attack complexity plus lack of required authentication make delivery trivial. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 10, 2026
WAF filtering bypass in OWASP ModSecurity (libmodsecurity) before 3.0.16 lets remote unauthenticated attackers smuggle malicious payloads past inspection rules by exploiting a multipart/form-data parser differential. The engine silently strips embedded line breaks from non-file form-field values before populating ARGS and ARGS_POST, so any rule whose detection depends on a newline (e.g. command, header, or injection syntax spanning a line break) fails to match while the backend still receives and acts on the intact payload. No public exploit identified at time of analysis, but the CVSS base score of 8.6 reflects a scope-changing integrity impact on every application shielded by an affected deployment.
RemediationAI
Vendor-released patch: 3.0.16 - upgrade libmodsecurity to version 3.0.16 or later and reload the Apache/IIS/Nginx worker so the fixed multipart parser is loaded, per release https://github.com/owasp-modsecurity/ModSecurity/releases/tag/v3.0.16 and advisory https://github.com/owasp-modsecurity/ModSecurity/security/advisories/GHSA-rcw9-2f5r-7p88. If immediate upgrade is not possible, reduce reliance on the corrupted ARGS/ARGS_POST view: add rules that inspect the raw request body (e.g. REQUEST_BODY and MULTIPART_* variables plus strict multipart validation such as MULTIPART_STRICT_ERROR) so detection does not depend solely on the line-break-stripped field values, and consider rejecting or flagging multipart/form-data submissions that contain embedded CR/LF in non-file fields - noting this can generate false positives for legitimate multi-line textarea inputs. Where an endpoint does not require multipart uploads, restrict or disable multipart body processing on that route as temporary containment, accepting the trade-off that legitimate file-upload functionality on those endpoints will break.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
ModSecurity is the most widely used open-source web application firewall engine, embedded as a module in Apache httpd, IIS and Nginx and serving as the runtime for the OWASP Core Rule Set. The defect lives in src/request_body_processor/multipart.cc, which reconstructs the value of each multipart part. When flushing buffered bytes it overwrites the reserved bytes held in m_reserve instead of appending the current buffer, causing embedded CR/LF sequences inside a non-file form-field value to be dropped before the value is exported to the ARGS and ARGS_POST collections. The root cause maps to CWE-180 (Incorrect Behavior Order: Validate Before Canonicalize): ModSecurity normalizes the field value in a way that diverges from how the protected backend parses the same raw multipart body, and rules validate the normalized-and-corrupted view rather than the bytes the application will actually consume. The affected component is cpe:2.3:a:owasp-modsecurity:modsecurity across all versions prior to 3.0.16.
Know when Modsecurity gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N
Remote unauthenticated multipart request, no user interaction (AV:N/AC:L/PR:N/UI:N); scope changes to the protected backend (S:C) whose integrity is undermined by the bypass (I:H), with no confidentiality or availability loss.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
2DescriptionNVD
ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx. Prior to 3.0.16, the multipart/form-data request body parser in libmodsecurity silently removes embedded line breaks from non-file form-field values before exporting them to ARGS and ARGS_POST because src/request_body_processor/multipart.cc overwrites reserved bytes in m_reserve instead of appending the current buffer. This creates a parser differential between ModSecurity and backend applications that preserve line breaks in form fields, allowing rules that inspect ARGS or ARGS_POST to miss payloads whose dangerous syntax depends on a line break. This issue is fixed in version 3.0.16.
Articles & Coverage 1
Executive ViewAI
OWASP ModSecurity (libmodsecurity) versions before 3.0.16 contain a WAF filter bypass vulnerability that allows remote unauthenticated attackers to smuggle malicious payloads past security inspection rules via multipart form-data parsing manipulation. No public exploit identified at time of analysis; however, the bypass affects all applications protected by vulnerable deployments and requires no special access or credentials. Organizations must immediately inventory affected systems and implement compensating controls until patches become available.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Deploy application-layer request normalization to strip embedded line breaks from multipart form fields before backend processing; (2) Configure network IDS/IPS to flag suspicious multipart/form-data payloads; (3) Restrict multipart/form-data content-type acceptance to only required endpoints; (4) Enable request logging at application level to audit multipart submissions that bypass WAF inspection; (5) Set up alerting on ModSecurity parser anomalies and rule bypass indicators.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Modsecurity
View allLibmodsecurity is one component of the ModSecurity v3 project. Rated high severity (CVSS 7.9), this vulnerability is rem
ModSecurity versions prior to 2.9.10 contain a denial of service vulnerability in the `sanitiseArg` and `sanitizeArg` ac
ModSecurity 3.x through 3.0.5 mishandles excessively nested JSON objects. Rated high severity (CVSS 7.5), this vulnerabi
Trustwave ModSecurity 3.x through 3.0.4 allows denial of service via a special request. Rated high severity (CVSS 7.5),
An issue was discovered in OWASP ModSecurity Core Rule Set (CRS) 3.0.2. Rated high severity (CVSS 7.5), this vulnerabili
The mod_security2 module before 2.7.0 for the Apache HTTP Server allows remote attackers to bypass rules, and deliver ar
ModSecurity 3.0.0 has XSS via an onerror attribute of an IMG element. Rated medium severity (CVSS 6.1), this vulnerabili
The ModSecurity module before 2.7.4 for the Apache HTTP Server allows remote attackers to cause a denial of service (NUL
An issue was discovered in OWASP ModSecurity Core Rule Set (CRS) through 3.1.0. Rated medium severity (CVSS 5.3), this v
An issue was discovered in OWASP ModSecurity Core Rule Set (CRS) through 3.1.0. Rated medium severity (CVSS 5.3), this v
An issue was discovered in OWASP ModSecurity Core Rule Set (CRS) through 3.1.0. Rated medium severity (CVSS 5.3), this v
An issue was discovered in OWASP ModSecurity Core Rule Set (CRS) through 3.1.0. Rated medium severity (CVSS 5.3), this v
EUVD-2026-43047
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB