CVE-2026-107825 OWASP Coraza WAF 查询参数解析绕过漏洞
影响攻击者可绕过针对查询参数的WAF规则,可能实现请求走私或攻击下游应用
OWASP Coraza WAF 是兼容 ModSecurity 的 Go 语言 Web 应用防火墙库。在 3.0.0 至 3.8.0 版本中,ProcessURI 处理 url.ParseRequestURI 失败时仅保留原始 URI,却将 QUERY_STRING、ARGS_GET、ARGS_GET_NAMES 及 GET 相关参数置空。攻击者可在 URI 中插入控制字节,使 Coraza 忽略查询参数,而下游集成仍可能正常解析处理,从而绕过相关 WAF 规则。
影响范围
Coraza WAF 3.0.0 至 3.8.0 版本;内置的 coraza/v3/http 集成不受影响,coraza-spoa、coraza-proxy-wasm、自定义 FFI/WASM 宿主等集成受影响。
漏洞详情
漏洞类型为输入解析不一致导致的 WAF 规则绕过。成因是 url.ParseRequestURI 解析失败时,Coraza 未正确提取查询参数,导致 QUERY_STRING、ARGS_GET 等变量为空。攻击者通过构造含控制字节的畸形 URI,使 Coraza 看不到查询参数,但下游组件仍按自身逻辑解析并处理这些参数,从而绕过针对这些变量的检测规则。
利用条件与风险
利用无需认证,但需目标使用 coraza-spoa、coraza-proxy-wasm 或自定义 FFI/WASM 宿主等直接传递原始 URI 的集成方式。实战中可导致 WAF 防护失效,为后续注入、越权等攻击提供绕过条件。
修复建议
官方已在 3.8.0 版本修复,建议升级至 3.8.0 或更高版本。临时缓解措施:在集成层对传入 URI 进行严格校验,拒绝含控制字节或畸形请求目标,或改用内置 coraza/v3/http 集成。
OWASP Coraza WAF is a golang modsecurity compatible web application firewall library. From 3.0.0 until 3.8.0, ProcessURI in internal/corazawaf/transaction.go handles a url.ParseRequestURI failure by retaining the raw URI but leaving QUERY_STRING, ARGS_GET, ARGS_GET_NAMES, and the GET-derived portion of ARGS empty. An unauthenticated attacker can place control bytes in a URI passed directly by integrations such as coraza-spoa, coraza-proxy-wasm, custom FFI hosts, or WASM hosts, causing Coraza to omit query parameters that the downstream integration may still process and allowing rules targeting those variables to be bypassed. The bundled coraza/v3/http integration is not affected because Go net/http rejects such malformed request targets before calling Coraza. This issue is fixed in version 3.8.0.