Vulnerability in github.com/corazawaf/coraza/v3 (CVE-2026-41504)
Summary
Vulnerability in github.com/corazawaf/coraza/v3 (CVE-2026-41504). Risk of unauthorized operations or information disclosure. Exploitable via formats_json.go. Mitigation: upgrade to 3.8.0 or later.
Original description
The description as published by the source.
Root Cause
File: internal/auditlog/formats.go — multiple sites write attacker-influenced bytes into the Native audit-log stream without escaping \r or \n:
// Part B — request headers (lines 72–80)
for k, vv := range al.Transaction().Request().Headers() {
for _, v := range vv {
res.WriteByte('\n')
res.WriteString(k)
res.WriteString(": ")
res.WriteString(v) // ← raw
}
}
// Part C — request body (lines 85–86)
if body := al.Transaction().Request().Body(); body != "" {
res.WriteString(body) // ← raw
res.WriteByte('\n')
}
// Part E — response body (lines 93–94) raw
// Part F — response headers (lines 111–118) raw
// Part H — error messages (line 125) raw
// Part K — matched-rule raw data (line 151) raw
The Native format's section structure is line-based: sections are delimited by lines of the form --<10-char-random-prefix>---, and line-based log parsers / SIEM rules rely on that structure. Any attacker-controlled bytes containing \n break the structural invariant and allow the attacker to inject lines that look like genuine audit content.
The other two Native-format implementations in Coraza are not affected: the JSON formatter (formats_json.go) and the OCSF formatter both round-trip values through json.Marshal, which escapes \r and \n.
Impact
An attacker who can land bytes into any of the listed audit-log fields can inject arbitrary lines — including lines that visually rese…
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-41504 has been found in github.com/corazawaf/coraza/v3.
Attackers can target a specific entry point like formats_json.go over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 5.8/10.
What to do: upgrade github.com/corazawaf/coraza/v3 to 3.8.0 or later.
If unsure, ask your IT team or search "github.com/corazawaf/coraza/v3 CVE-2026-41504" on the vendor's site.
CVE-2026-41504 (github.com/corazawaf/coraza/v3) — CWE-93 / CVSS v3 5.8
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: formats_json.go / json.Marshal / boundaryPrefix / ABCFHZ
Patched: 3.8.0 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-93) exists in github.com/corazawaf/coraza/v3. Attackers reach the vulnerable code path via formats_json.go without authentication.
Check the vendor advisory for the affected versions of github.com/corazawaf/coraza/v3. Attack surface: formats_json.go / json.Marshal / boundaryPrefix / ABCFHZ.
Severity: Medium (CVSS 5.8/10). Risk of unauthorized operations or information disclosure.
Update to 3.8.0.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'github.com/corazawaf/coraza/v3' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'github.com/corazawaf/coraza/v3' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
github.com/corazawaf/coraza/v3を grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade github.com/corazawaf/coraza/v3 to 3.8.0ステージング環境で 3.8.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com