{"id":"CVE-2026-114099","summary":"Coraza 3.0.0 before 3.8.1 WAF Bypass via JSON Key Collision","details":"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.","aliases":["GHSA-5gj4-9gm7-2fx2","GO-2026-6692"],"modified":"2026-10-21T10:57:16.166426844Z","published":"2026-10-21T00:37:01.866Z","database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-20"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114099.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114099.json"},{"type":"ADVISORY","url":"https://github.com/corazawaf/coraza/security/advisories/GHSA-5gj4-9gm7-2fx2"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114099"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/coraza-3.0.0-before-3.8.1-waf-bypass-via-json-key-collision"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/corazawaf/coraza","events":[{"introduced":"ad50864cfa00f5143fff7f6877847326fdc4b394"},{"fixed":"9f8521398d1ff023b958fad0b944cac265763866"}],"database_specific":{"extracted_events":[{"source":"AFFECTED_FIELD","strategy":"StandardRange","range":[{"introduced":"3.0.0"},{"fixed":"3.8.1"}]}]}}],"versions":["v3.8.0","v3.7.0","v3.6.0","v3.5.0","v3.4.0","v3.3.3","v3.3.2","v3.3.1","v3.3.0","v3.2.1","v3.2.0","v3.1.0","v3.0.4","v3.0.3","v3.0.2","v3.0.1","v3.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-114099.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}