There is a denial of service vulnerability in the Content-Disposition parsingcomponent of Rack fixed in 2.0.9.2, 2.1.4.2, 2.2.4.1, 3.0.0.1. This could allow an attacker to craft an input that can cause Content-Disposition header parsing in Rackto take an unexpected amount of time, possibly resulting in a denial ofservice attack vector. This header is used typically used in multipartparsing. Any applications that parse multipart posts using Rack (virtuallyall Rails applications) are 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 | 2.0.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.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.