CVE-2026-107833 OWASP Coraza WAF 拒绝服务漏洞
影响攻击者可触发响应体处理耗尽 CPU,造成拒绝服务
OWASP Coraza WAF 是兼容 ModSecurity 的 Go 语言 Web 应用防火墙库。3.0.0 至 3.8.0 版本中,响应体 JSON 处理将 ignoreJSONRecursionLimit 设为 -1 传入 readJSON,而递归保护仅在计数为零时停止,导致深层嵌套 JSON 触发二次方级计算。该问题已在 3.8.0 修复。
影响范围
Coraza WAF 3.0.0 至 3.8.0 版本受影响,3.8.0 已修复。
漏洞详情
漏洞类型为拒绝服务(算法复杂度问题)。成因是响应体 JSON 解析时递归深度限制被错误设为 -1,使递归守卫失效,处理深层嵌套 JSON 时产生二次方级工作量。攻击者只需让受保护应用返回深层嵌套 JSON,即可在默认 ResponseBodyLimit 内使单个 CPU 核心被占用数秒。
利用条件与风险
利用前提是启用了响应体检查,且攻击者能控制或影响应用返回深层嵌套 JSON;请求体处理路径不受影响。实战中可反复触发造成 CPU 资源耗尽,导致服务不可用。
修复建议
升级至 Coraza WAF 3.8.0 或更高版本。临时缓解可考虑关闭响应体检查,或限制响应体大小与嵌套深度。
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.