A denial of service vulnerability in the Range header parsing component of Rack >= 1.5.0. A 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.
The product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Rack | Rack_project | 1.5.0 (including) | 2.0.9.2 (excluding) |
Rack | Rack_project | 2.1.0 (including) | 2.1.4.2 (excluding) |
Rack | Rack_project | 2.2.0 (including) | 2.2.6.1 (excluding) |
Rack | Rack_project | 3.0.0 (including) | 3.0.4.1 (excluding) |
Red Hat Satellite 6.14 for RHEL 8 | RedHat | rubygem-rack-0:2.2.7-1.el8sat | * |
Red Hat Satellite 6.14 for RHEL 8 | RedHat | rubygem-rack-0:2.2.7-1.el8sat | * |
Ruby-rack | Ubuntu | bionic | * |
Ruby-rack | Ubuntu | esm-apps/bionic | * |
Ruby-rack | Ubuntu | esm-apps/focal | * |
Ruby-rack | Ubuntu | esm-apps/jammy | * |
Ruby-rack | Ubuntu | esm-apps/xenial | * |
Ruby-rack | Ubuntu | focal | * |
Ruby-rack | Ubuntu | jammy | * |
Ruby-rack | Ubuntu | kinetic | * |
Ruby-rack | Ubuntu | trusty | * |
Ruby-rack | Ubuntu | trusty/esm | * |
Ruby-rack | Ubuntu | upstream | * |
Ruby-rack | Ubuntu | xenial | * |
Attackers can create crafted inputs that
intentionally cause the regular expression to use
excessive backtracking in a way that causes the CPU
consumption to spike.