GHSA-3wr7-993q-jrff: Coraza: Multipart filename* (RFC 5987) charset restriction lets a decoy filename bypass FILES-based rules
Coraza extracts a multipart file upload’s filename using Go’s standard-library mime.ParseMediaType, which only decodes the RFC 5987/6266 extended filename* Content-Disposition parameter when its declared charset is exactly us-ascii or utf-8. Any other charset — including iso-8859-1, which RFC 5987 explicitly permits — is silently dropped by the stdlib, with no error and no fallback signal. This lets an attacker present one filename to Coraza and a different one to the backend application in the same request.
References
- github.com/advisories/GHSA-3wr7-993q-jrff
- github.com/corazawaf/coraza/commit/5427c501b2fea6ae1305903efef01b3049224a58
- github.com/corazawaf/coraza/commit/b2a9264437116bdd98a86fe345b2aec1152d3d7c
- github.com/corazawaf/coraza/commit/cae3c7407e7b84372c207033de03f15f89bf351a
- github.com/corazawaf/coraza/releases/tag/v3.8.1
- github.com/corazawaf/coraza/security/advisories/GHSA-3wr7-993q-jrff
Code Behaviors & Features
Detect and mitigate GHSA-3wr7-993q-jrff with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →