GHSA-q2ww-5357-x388 · Severity: medium · Ecosystem: rubygems — Rack has Content-Length mismatch in Rack::Files error responses
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Files#fail sets the Content-Length response header using String#size instead of String#bytesize. When the response body contains multibyte UTF-8 characters, the declared Content-Length is smaller than the number of bytes actually sent on the wire. Because Rack::Files reflects the requested path in 404 responses, an attacker can trigger this mismatch by requesting a non-existent path containing percent-encoded UTF-8 characters. This results in incorrect HTTP response framing and may cause response desynchronization in deployments that rely on the incorrect Content-Length value. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.
Conclusion & alert: CVE-2026-34831 is rated Low Risk (21.9/100): CVSS Medium severity, with low exploitation likelihood (EPSS 0.03%). Mandatory action: Monitor for updates and reassess as exploit intelligence or EPSS changes.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-04-03 | — | 0.03% | — |
Full EPSS history (1 record total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 4.8 | 3.1 | MEDIUM |
|
2.2 | 2.5 | [email protected] |
| 6.5 | 3.1 | MEDIUM |
|
3.9 | 2.5 | [email protected] |
GHSA-q2ww-5357-x388 · Severity: medium · Ecosystem: rubygems — Rack has Content-Length mismatch in Rack::Files error responses
| vendor | priority | summary | link |
|---|---|---|---|
debian
|
not yet assigned | CVE-2026-34831 not yet assigned priority: Debian including 1 source packages (ruby-rack), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): open 3, resolved 2. | https://security-tracker.debian.org/tracker/CVE-2026-34831 |
redhat
|
medium | — | https://access.redhat.com/security/cve/CVE-2026-34831 |
suse
|
medium | CVE-2026-34831 severity moderate: SUSE including 2 source package names (hawk2, ruby4.0-rubygem-rack-2.2-2.2.23-1.1), 7 product×package rows across 7 product lines (SUSE Linux Enterprise High Availability Extension 12 SP5, SUSE Linux Enterprise High Availability Extension 15 SP4, … (7 product lines)): Known Not Affected 6, Fixed 1. | https://www.suse.com/security/cve/CVE-2026-34831/ |
ubuntu
|
medium | CVE-2026-34831 medium priority: Ubuntu including 1 source packages (ruby-rack), 9 status rows across 9 suites (bionic, focal, jammy, noble, questing, resolute, trusty, upstream, xenial): not-affected 5, released 3, needed 1. | https://ubuntu.com/security/CVE-2026-34831 |
| URL | Tags |
|---|---|
| https://github.com/rack/rack/security/advisories/GHSA-q2ww-5357-x388 | Vendor Advisory |