OWASP Coraza WAF: Unbounded recursion in JSON response body processor causes CPU exhaustion
OWASP Coraza WAF is a golang modsecurity compatible web application firewall library. From 3.0.0 until 3.8.0, ProcessResponse in internal/bodyprocessors/json.go passes the ignoreJSONRecursionLimit value of -1 to readJSON, while the recursive guard only stops at zero. A network attacker who can cause an application protected by Coraza to return deeply nested JSON can make response-body processing perform quadratic work, consuming one CPU core for seconds per response within the default ResponseBodyLimit. Request JSON processing is not affected by this specific path because it uses the configured request recursion limit, and exploitation requires response-body inspection to be enabled. This issue is fixed in version 3.8.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-107833
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 16:40 UTC · Revision 1
Source evidence
OWASP Coraza WAF: Unbounded recursion in JSON response body processor causes CPU exhaustion
core-osv · Original sourcePublished 9 Oct 2026, 17:39 UTC
OWASP Coraza WAF is a golang modsecurity compatible web application firewall library. From 3.0.0 until 3.8.0, ProcessResponse in internal/bodyprocessors/json.go passes the ignoreJSONRecursionLimit value of -1 to readJSON, while the recursive guard only stops at zero. A network attacker who can cause an application protected by Coraza to return deeply nested JSON can make response-body processing perform quadratic work, consuming one CPU core for seconds per response within the default ResponseBodyLimit. Request JSON processing is not affected by this specific path because it uses the configured request recursion limit, and exploitation requires response-body inspection to be enabled. This issue is fixed in version 3.8.0.
osv:CVE-2026-107833
Complete source record
{
"id": "e4ff5871a79b9ac9170223e799e36bd161b923da968966ef818148aaae844f94",
"url": "https://osv.dev/vulnerability/CVE-2026-107833",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "OWASP Coraza WAF: Unbounded recursion in JSON response body processor causes CPU exhaustion",
"summary": "OWASP Coraza WAF is a golang modsecurity compatible web application firewall library. From 3.0.0 until 3.8.0, ProcessResponse in internal/bodyprocessors/json.go passes the ignoreJSONRecursionLimit value of -1 to readJSON, while the recursive guard only stops at zero. A network attacker who can cause an application protected by Coraza to return deeply nested JSON can make response-body processing perform quadratic work, consuming one CPU core for seconds per response within the default ResponseBodyLimit. Request JSON processing is not affected by this specific path because it uses the configured request recursion limit, and exploitation requires response-body inspection to be enabled. This issue is fixed in version 3.8.0.",
"evidence": "osv:CVE-2026-107833",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-107833",
"aliases": [
"CVE-2026-107833",
"GHSA-3c6w-j9xm-8h2h",
"GO-2026-6690"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/corazawaf/coraza",
"type": "GIT",
"events": [
{
"introduced": "ad50864cfa00f5143fff7f6877847326fdc4b394"
},
{
"fixed": "19b86824f5e97eba72b289a81d5b3c1260292ff0"
},
{
"fixed": "cae3c7407e7b84372c207033de03f15f89bf351a"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.8.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "cae3c7407e7b84372c207033de03f15f89bf351a"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "19b86824f5e97eba72b289a81d5b3c1260292ff0"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v3.8.0"
}
]
}
}
],
"versions": [
"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-107833.json"
}
}
],
"modified": "2026-10-28T02:30:51.040202191Z",
"provider": "osv",
"references": [
"https://github.com/corazawaf/coraza/releases/tag/v3.8.0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107833.json",
"https://github.com/corazawaf/coraza/security/advisories/GHSA-3c6w-j9xm-8h2h",
"https://nvd.nist.gov/vuln/detail/CVE-2026-107833",
"https://github.com/corazawaf/coraza/commit/cae3c7407e7b84372c207033de03f15f89bf351a"
],
"provider_metadata": {
"cwe_ids": [
"CWE-674"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107833.json"
}
},
"related_cves": [
{
"value": "CVE-2026-107833",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 519896,
"published_at": "2026-10-09T17:39:48.049+00:00"
}