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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-794"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/21xxx/CVE-2026-21876.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:owasp:owasp_modsecurity_core_rule_set:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.3.8"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:owasp:owasp_modsecurity_core_rule_set:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.0.0"
},
{
"fixed": "4.22.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "80d80473abf71bd49bf6d3c1ab221e3c74e4eb83"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "9917985de09a6cf38b3261faf9105e909d67a7d6"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v3.3.8",
"range": [
{
"fixed": "83011c4512d9c91713629561c31c255da71d6bf7"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v4.22.0",
"range": [
{
"fixed": "f13d4c53c449bd1055817f0f9d212eae69fdc3af"
}
],
"source": "REFERENCES_TAG"
}
]
}