CVE Vulnerabilities

CVE-2021-22904

Uncontrolled Resource Consumption

Published: Jun 11, 2021 | Modified: Nov 21, 2024
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
7.5 MODERATE
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

The actionpack ruby gem before 6.1.3.2, 6.0.3.7, 5.2.4.6, 5.2.6 suffers from a possible denial of service vulnerability in the Token Authentication logic in Action Controller due to a too permissive regular expression. Impacted code uses authenticate_or_request_with_http_token or authenticate_with_http_token for request authentication.

Weakness

The product does not properly control the allocation and maintenance of a limited resource.

Affected Software

NameVendorStart VersionEnd Version
RailsRubyonrails*5.2.4.6 (excluding)
RailsRubyonrails5.2.5 (including)5.2.6 (excluding)
RailsRubyonrails6.0.0 (including)6.0.3.7 (excluding)
RailsRubyonrails6.1.0 (including)6.1.3.2 (excluding)
Red Hat Satellite 6.10 for RHEL 7RedHattfm-rubygem-rails-0:6.0.3.7-1.el7sat*
RailsUbuntubionic*
RailsUbuntufocal*
RailsUbuntugroovy*
RailsUbuntuhirsute*
RailsUbuntuimpish*
RailsUbuntukinetic*
RailsUbuntulunar*
RailsUbuntumantic*
RailsUbuntuoracular*
RailsUbuntuplucky*
RailsUbuntutrusty*
RailsUbuntuxenial*
Rails-4.0Ubuntutrusty*
Ruby-actionpack-3.2Ubuntutrusty*
Ruby-activemodel-3.2Ubuntutrusty*
Ruby-activerecord-3.2Ubuntutrusty*
Ruby-activesupport-3.2Ubuntutrusty*
Ruby-rails-3.2Ubuntutrusty*

Potential Mitigations

  • Mitigation of resource exhaustion attacks requires that the target system either:

  • The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question.

  • The second solution is simply difficult to effectively institute – and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker.

References