Skip to content
OpenAdvisories

Description

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.

Affected products

VendorProductAffectedFixed
rack rack < 2.2.23, >= 3.0.0.beta1, < 3.1.21, >= 3.2.0, < 3.2.6 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 ruby-rack 3.2.6-2 —
Debian 13 ruby-rack 3.1.20-0+deb13u2 —
Debian 12 ruby-rack 2.2.22-0+deb12u2 —
ReleasePackageFixed inAdvisory
Ubuntu 26.04 LTS ruby-rack 3.2.4-1ubuntu1.1 USN-8989-1
Ubuntu 25.10 ruby-rack 3.1.16-0.1ubuntu0.3 —
Ubuntu 24.04 LTS ruby-rack 2.2.7-1ubuntu0.7 —
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 22.04 LTS ruby-rack 2.1.4-5ubuntu1.2+esm3 —
ReleasePackageFixed inAdvisory
SLES 15 SP6 rmt-server 2.27-150500.3.47.1 SUSE-SU-2026:2487-1
SLES 15 SP5 rmt-server 2.27-150500.3.47.1 SUSE-SU-2026:2487-1
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 rmt-server 3.1.0-160000.1.1 SUSE-SU-2026:23321-1
SLES for SAP 15 SP6 rmt-server 2.27-150500.3.47.1 SUSE-SU-2026:2487-1
SLES for SAP 15 SP5 rmt-server 2.27-150500.3.47.1 SUSE-SU-2026:2487-1
SLES 16.0 rmt-server 3.1.0-160000.1.1 SUSE-SU-2026:23321-1
SLE HPC 15 SP5 rmt-server 2.27-150500.3.47.1 SUSE-SU-2026:2487-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed rubygem-rack-2.2 2.2.23-1.1 openSUSE-SU-2026:10508-1
openSUSE Leap 16.0 rmt-server 3.1.0-160000.1.1 openSUSE-SU-2026:21640-1

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling kube-fluentd-operator 1.18.2-r60 —
Wolfi rolling logstash-9.3 +2 9.3.3-r2 —
Wolfi rolling ruby3.2-rack-2.2 +2 2.2.23-r0 —
Wolfi rolling ruby3.3-rack-2.2 2.2.22-r0 —

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems rack < 2.2.23 2.2.23 GHSA-q2ww-5357-x388
RubyGems rack >= 3.0.0.beta1, < 3.1.21 3.1.21 GHSA-q2ww-5357-x388
RubyGems rack >= 3.2.0, < 3.2.6 3.2.6 GHSA-q2ww-5357-x388

Advisories 6

References