Description
Coraza from 3.0.0 before 3.8.1 has a JSON body processor that flattens nested properties into dot-separated ARGS_POST names without escaping literal dots, so distinct properties collide. Unauthenticated attackers can add a later dotted property such as account.role that overwrites a malicious nested value, hiding SQL injection payloads from OWASP CRS rules while backends still receive them.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| corazawaf | coraza | 3.0.0 – < 3.8.1 | 3.8.1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | github.com/corazawaf/coraza | all versions | — | GO-2026-6692 |
| Go | github.com/corazawaf/coraza/v2 | all versions | — | GO-2026-6692 |
| Go | github.com/corazawaf/coraza/v3 | >= 3.0.0, < 3.8.1 | 3.8.1 | GHSA-5gj4-9gm7-2fx2 |
References
- GitHub Security Advisory (GHSA-5gj4-9gm7-2fx2) vendor-advisory
- VulnCheck Advisory: Coraza 3.0.0 before 3.8.1 WAF Bypass via JSON Key Collision third-party-advisory