{"id":"CVE-2026-21876","state":"PUBLISHED","title":"OWASP CRS has multipart bypass using multiple content-type parts","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.","publishedAt":"2026-01-08T13:55:37.102Z","updatedAt":"2026-04-09T15:41:17.073Z","severity":{"score":9.3,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["coreruleset coreruleset"],"affected":[{"vendor":"coreruleset","product":"coreruleset","versions":[{"version":"< 4.22.0","status":"affected"},{"version":"< 3.3.8","status":"affected"}]}],"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://github.com/daytriftnewgen/CVE-2026-21876"],"weaknesses":["CWE-794"],"ingestedAt":"2026-10-29T20:11:10.572Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/21xxx/CVE-2026-21876.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-21876","state":"PUBLISHED","datePublished":"2026-01-08T13:55:37.102Z","dateUpdated":"2026-04-09T15:41:17.073Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-01-05T17:24:36.927Z"},"containers":{"cna":{"title":"OWASP CRS has multipart bypass using multiple content-type parts","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"coreruleset","product":"coreruleset","versions":[{"version":"< 4.22.0","status":"affected"},{"version":"< 3.3.8","status":"affected"}]}],"references":[{"url":"https://github.com/coreruleset/coreruleset/security/advisories/GHSA-36fv-25j3-r2c5","name":"https://github.com/coreruleset/coreruleset/security/advisories/GHSA-36fv-25j3-r2c5","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/coreruleset/coreruleset/commit/80d80473abf71bd49bf6d3c1ab221e3c74e4eb83","name":"https://github.com/coreruleset/coreruleset/commit/80d80473abf71bd49bf6d3c1ab221e3c74e4eb83","tags":["x_refsource_MISC"]},{"url":"https://github.com/coreruleset/coreruleset/commit/9917985de09a6cf38b3261faf9105e909d67a7d6","name":"https://github.com/coreruleset/coreruleset/commit/9917985de09a6cf38b3261faf9105e909d67a7d6","tags":["x_refsource_MISC"]},{"url":"https://github.com/coreruleset/coreruleset/releases/tag/v3.3.8","name":"https://github.com/coreruleset/coreruleset/releases/tag/v3.3.8","tags":["x_refsource_MISC"]},{"url":"https://github.com/coreruleset/coreruleset/releases/tag/v4.22.0","name":"https://github.com/coreruleset/coreruleset/releases/tag/v4.22.0","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":9.3,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-794","lang":"en","description":"CWE-794: Incomplete Filtering of Multiple Instances of Special Elements","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-01-08T13:55:37.102Z"},"source":{"advisory":"GHSA-36fv-25j3-r2c5","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/daytriftnewgen/CVE-2026-21876","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-01-08T14:52:48.615550Z","id":"CVE-2026-21876","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-04-09T15:41:17.073Z"}}]}}}