CVE-2026-21876
Owasp Modsecurity Core Rule Set ≤ 3.3.8
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:NSummary
CVE-2026-21876 is a critical-severity Incomplete Filtering of Multiple Instances of Special Elements (CWE-794) vulnerability in Owasp Owasp Modsecurity Core Rule Set. Its CVSS base score is 9.3 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 4% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
The vulnerability is a logic bug in the OWASP Core Rule Set (CRS) affecting rule 922110 prior to versions 4.22.0 and 3.3.8. The rule processes multipart requests by iterating over collections such as MULTIPART_PART_HEADERS; because capture variables TX:0 and TX:1 are overwritten on each iteration, only the final captured value is passed to subsequent chained rules, allowing malicious charset values in earlier parts to be ignored when a later part contains a benign charset. The affected component is the generic attack-detection rule set used by compatible web application firewalls.
An unauthenticated remote attacker can craft a multipart request containing a malicious charset in one of the earlier parts followed by a legitimate charset in a subsequent part. Because the chained rule only evaluates the last captured value, the request evades detection and may result in high-impact consequences including confidentiality loss and limited integrity impact, as reflected in the CVSS 9.3 score.
The referenced GitHub advisory and release notes state that the issue is resolved in CRS 4.22.0 and 3.3.8; users should upgrade to one of these versions. The associated commits correct the capture-variable handling so that each multipart part is evaluated independently by the rule chain. The EPSS score remains low with only a modest peak of 0.0398 and no reported real-world exploitation.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-1669
Vulnerability Data
The OWASP core rule set (CRS) is a set of generic attack detection rules for use with compatible web application firewalls. Prior to versions 4.22.0 and 3.3.8, the current rule 922110 has a bug when processing multipart requests with multiple…
more
parts. When the first rule in a chain iterates over a collection (like `MULTIPART_PART_HEADERS`), the capture variables (`TX:0`, `TX:1`) get overwritten with each iteration. Only the last captured value is available to the chained rule, which means malicious charsets in earlier parts can be missed if a later part has a legitimate charset. Versions 4.22.0 and 3.3.8 patch the issue.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Input validation directly requires checking and sanitizing all relevant special elements in received data before downstream use.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly require complete special-element filtering to prevent injection-style weaknesses.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing can detect incomplete filtering but does not itself implement the filtering mechanism.
Secure development lifecycle mandates input validation and sanitization that directly addresses incomplete filtering of special elements.
Application security requirements include explicit rules for handling and filtering special characters in data flows.
Secure architecture principles encourage defensive input handling but do not prescribe specific filtering controls.
Secure coding standards require complete sanitization of all instances of special elements before downstream processing.