Skip to content

Rack Header Parsing leads to Possible Denial of Service Vulnerability

Low severity GitHub Reviewed Published Feb 28, 2024 in rack/rack • Updated Feb 29, 2024

Package

bundler rack (RubyGems)

Affected versions

>= 3.0.0, < 3.0.9.1
>= 2.2.0, < 2.2.8.1
>= 2.1.0, < 2.1.4.4
< 2.0.9.4

Patched versions

3.0.9.1
2.2.8.1
2.1.4.4
2.0.9.4

Description

Possible Denial of Service Vulnerability in Rack Header Parsing

There is a possible denial of service vulnerability in the header parsing
routines in Rack. This vulnerability has been assigned the CVE identifier
CVE-2024-26146.

Versions Affected: All.
Not affected: None
Fixed Versions: 2.0.9.4, 2.1.4.4, 2.2.8.1, 3.0.9.1

Impact

Carefully crafted headers can cause header parsing in Rack to take longer than
expected resulting in a possible denial of service issue. Accept and Forwarded
headers are impacted.

Ruby 3.2 has mitigations for this problem, so Rack applications using Ruby 3.2
or newer are unaffected.

Releases

The fixed releases are available at the normal locations.

Workarounds

There are no feasible workarounds for this issue.

Patches

To aid users who aren't able to upgrade immediately we have provided patches for
the two supported release series. They are in git-am format and consist of a
single changeset.

  • 2-0-header-redos.patch - Patch for 2.0 series
  • 2-1-header-redos.patch - Patch for 2.1 series
  • 2-2-header-redos.patch - Patch for 2.2 series
  • 3-0-header-redos.patch - Patch for 3.0 series

Credits

Thanks to svalkanov for reporting this and
providing patches!

References

@tenderlove tenderlove published to rack/rack Feb 28, 2024
Published to the GitHub Advisory Database Feb 28, 2024
Reviewed Feb 28, 2024
Published by the National Vulnerability Database Feb 29, 2024
Last updated Feb 29, 2024

Severity

Low

Weaknesses

CVE ID

CVE-2024-26146

GHSA ID

GHSA-54rr-7fvw-6x8f

Source code

Credits

Checking history
See something to contribute? Suggest improvements for this vulnerability.