Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend POST with charset parameter on urlencoded Content-Type
-
ExploitCoraza exact-match selects no body processor
-
ExecutionARGS_POST and REQUEST_BODY remain empty
-
ImpactMalicious body reaches backend uninspected
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires that the Coraza deployment rely on custom rules inspecting ARGS_POST or REQUEST_BODY to catch malicious payloads, and that a client send a valid urlencoded body with any media-type parameter (e.g. 'application/x-www-form-urlencoded; charset=UTF-8'); the backend must still parse the forwarded body. The decisive LIMITING factor is that the current OWASP CRS bundles rule 901340, which forces fallback inspection and neutralizes this bypass - so sites running an unmodified modern CRS are not affected, and only setups with custom body rules or CRS lacking 901340 are exposed. No authentication or user interaction is needed (PR:N/UI:N), and it works against default parsing behavior of the affected versions. |
| Impact | This is a genuine but moderate-priority WAF evasion issue, not a critical server compromise. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms it is remotely reachable by unauthenticated attackers with low complexity against default parsing behavior, but the impact metrics are deliberately limited to VI:L and SI:L (no confidentiality or availability impact), yielding a Medium 6.9 - which matches the vendor's own 'suggested severity: Medium'. The real risk is contextual: Coraza does not itself execute attacker code; the flaw only hides a request body from inspection, so actual harm depends entirely on whether the protected backend is independently vulnerable to whatever payload slips through. No EPSS score, no CISA KEV listing, and no explicit POC flag are present in the input, so there is no signal of active or probable exploitation - this appears to be a vendor/researcher-disclosed hardening issue (reported by VulnCheck) rather than an observed attack. Critically, the vendor states the current OWASP CRS ships rule 901340 that forces fallback inspection and mitigates this path, so sites running an unmodified modern CRS are NOT bypassed; the exposure is specific to deployments relying on custom ARGS_POST/REQUEST_BODY rules. Bottom line: patch in routine cycles - this is a defense-in-depth bypass, not a directly exploitable high-risk flaw. |
| Exploit ScenarioDerived | An unauthenticated attacker targeting a backend protected by Coraza with custom body-inspection rules sends a POST with Content-Type 'application/x-www-form-urlencoded; charset=UTF-8'. Because Coraza's exact-match processor selection ignores the request due to the charset parameter, ARGS_POST and REQUEST_BODY stay empty and the body (e.g. SQLi/XSS/command-injection parameters) is never evaluated, yet the Go middleware forwards it and the backend parses it normally. No public exploit is identified in the input, but the advisory documents the exact deterministic technique, making reproduction trivial. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Request body inspection bypass in Coraza WAF versions 3.0.4 through 3.8.0 allows unauthenticated remote attackers to evade custom body rules by sending a valid URL-encoded form body with a Content-Type parameter such as 'application/x-www-form-urlencoded; charset=UTF-8', leaving ARGS_POST and REQUEST_BODY empty while the backend still parses the payload. This is a moderate-priority WAF evasion issue rather than a server compromise; deployments that rely on custom ARGS_POST or REQUEST_BODY rules are exposed, while an unmodified current OWASP CRS with rule 901340 forces fallback inspection and neutralizes the bypass. No public exploit identified at time of analysis; vendor-released patch: 3.8.1.
RemediationAI
Upgrade Coraza to 3.8.1 or later; the vendor-released patch is 3.8.1, with upstream commits 3b6241ef895b089c66a59e51068a81cf40986e4d and a55950ffa161f33a29e14f87d926d7df3b85cc74, and details are in advisory GHSA-w253-m66g-rx24. If immediate upgrade is not possible, ensure the current OWASP CRS ruleset is deployed and rule 901340 is active, since it forces fallback inspection and mitigates this bypass; the trade-off is dependence on CRS version and rule coverage. For deployments using custom rules that inspect ARGS_POST or REQUEST_BODY, add a compensating normalization or rejection rule for URL-encoded Content-Type values containing media-type parameters such as a semicolon, or inspect the raw request body through an external processor; test carefully because legitimate clients may send charset parameters, and rejecting such headers can break valid traffic.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 4 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Coraza is a Go-based Web Application Firewall library, and the flaw is in request-body processor selection in internal/corazawaf/transaction.go. The AddRequestHeader logic lowercases the entire Content-Type value and checks exact equality with 'application/x-www-form-urlencoded'; because media-type parameters are legal and 'charset=UTF-8' is a parameter rather than part of the media type, the equality check fails and REQBODY_PROCESSOR remains empty. ProcessRequestBody treats an empty processor as success, evaluates phase 2 without parsing the body, and does not set REQBODY_ERROR, so the URL-encoded processor never populates ARGS_POST, REQUEST_BODY, or REQUEST_BODY_LENGTH. The root cause is CWE-20 improper input validation of the Content-Type media type. The affected Go module is go/github.com/corazawaf/coraza/v3, vulnerable from 3.0.4 before 3.8.1, corresponding to CPE cpe:2.3:a:corazawaf:coraza. Current OWASP CRS rule 901340 forces fallback inspection and mitigates this specific path.
Know when Coraza 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
Remote, unauthenticated, low-complexity bypass (AV:N/AC:L/PR:N/UI:N); only integrity is affected (I:L) as a security control is evaded with no direct confidentiality or availability loss.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Coraza from 3.0.4 before 3.8.1 contains a request body inspection bypass because request-body processor selection compares the entire Content-Type value exactly, so URL-encoded bodies whose Content-Type carries a media-type parameter are never parsed. Unauthenticated attackers can send application/x-www-form-urlencoded; charset=UTF-8 to keep ARGS_POST and REQUEST_BODY empty, evading body rules while the backend still processes the payload.
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
Related Vulnerabilities in Coraza WAF Request Body Inspection Bypasses
View all 3Unauthenticated remote denial of service in the OWASP Coraza WAF Go library (versions 3.0.0 through 3.8.0) allows any cl
OWASP Coraza WAF is a golang modsecurity compatible web application firewall library. Rated high severity (CVSS 7.5), th
CPU exhaustion in OWASP Coraza WAF versions 3.0.0 through 3.7.x allows a remote, unauthenticated network attacker to pin
Resource exhaustion in OWASP Coraza WAF 3.0.0 through 3.7.x lets an unauthenticated remote attacker (CVSS vector PR:N/UI
Cookie-parser confusion in OWASP Coraza WAF prior to 3.8.1 allows unauthenticated remote attackers to hide cookie-carrie
GET-side WAF rule bypass in OWASP Coraza WAF 3.0.0 through 3.7.x lets unauthenticated attackers evade signature matching
EUVD-2026-106903
GHSA-5846-6v99-476c
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB