CVE-2026-32762 json
Rack: Forwarded Header semicolon injection enables Host and Scheme spoofing
published 2026-04-02 7 mo ago modified 2026-09-10 1 mo ago also EUVD-2026-18423 , GHSA-qfgr-crr9-7r49
- cvss
- 4.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 8%
- public exploits
- 0
- none known
Summary
Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21 and 3.2.0 to before 3.2.6, Rack::Utils.forwarded_values parses the RFC 7239 Forwarded header by splitting on semicolons before handling quoted-string values. Because quoted values may legally contain semicolons, a header can be interpreted by Rack as multiple Forwarded directives rather than as a single quoted for value. In deployments where an upstream proxy, WAF, or intermediary validates or preserves quoted Forwarded values differently, this discrepancy can allow an attacker to smuggle host, proto, for, or by parameters through a single header value. This issue has been patched in versions 3.1.21 and 3.2.6.
Patch / fix
- rubygems rack 3.1.21, 3.2.6
- rack rack 3.1.21, 3.2.6
- rack_project rack 3.1.21, 3.2.6
- ruby-rack Debian 13 3.1.20-0+deb13u2
- ruby-rack Debian 14 3.2.6-2
debian advisories DEBIAN-CVE-2026-32762
- ruby-rack Ubuntu 25.10 3.1.16-0.1ubuntu0.3
- ruby-rack Ubuntu 26.04 LTS 3.2.4-1ubuntu1.1
ubuntu advisories UBUNTU-CVE-2026-32762
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-32762 updated cvss 4.8
rack: Rack: Parameter smuggling via improper Forwarded header parsing
-
Red Hat Logging Subsystem for Red Hat OpenShift openshift-logging/vector-rhel9, openshift-logging/fluentd-rhel9, openshift-logging/eventrouter-rhel9, openshift-logging/logging-view-plugin-rhel9, openshift-logging/cluster-logging-rhel9-operator, openshift-logging/log-file-metric-exporter-rhel9, +1 more Red Hat 3scale API Management Platform 2 3scale-amp21/zync, 3scale-amp22/zync, 3scale-amp24/zync, 3scale-amp25/zync, 3scale-amp26/zync, 3scale-amp20/system, +19 more Red Hat Enterprise Linux 7 pcs, pcs-snmp, python-clufter Red Hat Enterprise Linux 8 pcs, pcs-snmp Red Hat Enterprise Linux 9 pcs, pcs-snmp, ubi9/ruby-30, ubi9/ruby-33, rhel9/ruby-30, rhel9/ruby-33 Red Hat Enterprise Linux 10 pcsaffected: workaround, no fix available “Fix deferred”
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.19% chance of exploitation in the next 30 days, higher than 8% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N |
| GitHub | 3.1 | 4.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N |
| NVD | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | rack | >=3.0.0.beta1, <3.1.21 >=3.2.0, <3.2.6 |
3.1.21 3.2.6 |
Affected products
- rack rack
Classification
- Weakness
-
- CWE-436 Interpretation Conflict
References
-
github.com
/rack/rack/security/advisories/GHSA-qfgr-crr9-7r49
web, mitigation, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-32762
advisory
-
github.com
/rack/rack
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/rack/CVE-2026-32762.yml
web
Sources
- CVE List CVE-2026-32762
- GitHub Advisory GHSA-qfgr-crr9-7r49
- NVD CVE-2026-32762
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.