Skip to content

Denial of service via header parsing in Rack

High severity GitHub Reviewed Published Jan 18, 2023 to the GitHub Advisory Database • Updated Dec 17, 2023

Package

bundler rack (RubyGems)

Affected versions

>= 1.5.0, < 2.0.9.2
>= 2.1.0.0, < 2.1.4.2
>= 2.2.0.0, < 2.2.6.2
>= 3.0.0.0, < 3.0.4.1

Patched versions

2.0.9.2
2.1.4.2
2.2.6.2
3.0.4.1

Description

There is a possible denial of service vulnerability in the Range header parsing component of Rack. This vulnerability has been assigned the CVE identifier CVE-2022-44570.

Versions Affected: >= 1.5.0 Not affected: None. Fixed Versions: 2.0.9.2, 2.1.4.2, 2.2.6.2, 3.0.0.1
Impact

Carefully crafted input can cause the Range header parsing component in Rack to take an unexpected amount of time, possibly resulting in a denial of service attack vector. Any applications that deal with Range requests (such as streaming applications, or applications that serve files) may be impacted.
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-Fix-ReDoS-in-Rack-Utils.get_byte_ranges.patch - Patch for 2.0 series
2-1-Fix-ReDoS-in-Rack-Utils.get_byte_ranges.patch - Patch for 2.1 series
2-2-Fix-ReDoS-in-Rack-Utils.get_byte_ranges.patch - Patch for 2.2 series
3-0-Fix-ReDoS-in-Rack-Utils.get_byte_ranges.patch - Patch for 3.0 series

References

Published to the GitHub Advisory Database Jan 18, 2023
Reviewed Jan 18, 2023
Published by the National Vulnerability Database Feb 9, 2023
Last updated Dec 17, 2023

Severity

High
7.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

CVE ID

CVE-2022-44570

GHSA ID

GHSA-65f5-mfpf-vfhj

Source code

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