{"id":"CVE-2026-114099","title":"Coraza 3.0.0 before 3.8.1 WAF Bypass via JSON Key Collision","summary":"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 p…","severity":"medium","cvss":5.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N","cvssSource":"cna","cwe":["CWE-20"],"vendor":"corazawaf","product":"coraza","affected":["coraza >= 3.0.0 < 3.8.1"],"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-10-28T15:59:23.724758Z"},"exploitAvailable":true,"published":"2026-10-21","updated":"2026-10-28","sourceUpdated":"2026-10-28T16:12:46.044Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-114099","references":[{"url":"https://github.com/corazawaf/coraza/security/advisories/GHSA-5gj4-9gm7-2fx2","label":"GitHub Security Advisory (GHSA-5gj4-9gm7-2fx2)"},{"url":"https://www.vulncheck.com/advisories/coraza-3.0.0-before-3.8.1-waf-bypass-via-json-key-collision","label":"VulnCheck Advisory: Coraza 3.0.0 before 3.8.1 WAF Bypass via JSON Key Collision"},{"url":"https://github.com/corazawaf/coraza/commit/52af139cab5ad10c5cb0152a161063b523907bdf"},{"url":"https://github.com/corazawaf/coraza/commit/5f577a548aeb9ca836122df4258f93ef6cfab38a"},{"url":"https://github.com/corazawaf/coraza/commit/cae3c7407e7b84372c207033de03f15f89bf351a"},{"url":"https://github.com/corazawaf/coraza"},{"url":"https://github.com/corazawaf/coraza/releases/tag/v3.8.1"}],"tags":["cve.org","exploit-available","osv","go"],"epss":0.00198,"epssPercentile":0.09602,"aliases":["GHSA-5gj4-9gm7-2fx2","GO-2026-6692"],"ecosystem":"go","patched":["github.com/corazawaf/coraza/v3 3.8.1"],"ingestedAt":"2026-10-21T01:37:08.016Z","slug":"CVE-2026-114099","body":"## Overview\n\nCoraza 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.\n\n## Affected\n\n- `coraza >= 3.0.0 < 3.8.1`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-114099)\n\nAffected packages:\n\n- `github.com/corazawaf/coraza/v3 >= 3.0.0, < 3.8.1`\n\nPatched in:\n\n- `github.com/corazawaf/coraza/v3 3.8.1`\n\nSource: https://osv.dev/vulnerability/GHSA-5gj4-9gm7-2fx2","depth":"twilight","depthScore":44,"depthScoreParts":{"impact":31.9,"likelihood":0,"exploitation":12,"ransomware":0},"changes":[{"seq":230751,"id":"CVE-2026-114099","ts":1793207733752,"field":"exploit_available","old":"false","new":"true"}]}