Loading...
Skip to main content

CVE-2021-22904

HIGH

Possible DoS Vulnerability in Action Controller Token Authentication

Published May 5, 2021Updated February 16, 2024Source: osv

Summary

There is a possible DoS vulnerability in the Token Authentication logic in Action Controller. Versions Affected: >= 4.0.0 Not affected: < 4.0.0 Fixed Versions: 6.1.3.2, 6.0.3.7, 5.2.4.6, 5.2.6 Impact ------ Impacted code uses `authenticate_or_request_with_http_token` or `authenticate_with_http_token` for request authentication. Impacted code will look something like this: ``` class PostsController < ApplicationController before_action :authenticate private def authenticate authenticate_or_request_with_http_token do |token, options| # ... end end end ``` All users running an affected release should either upgrade or use one of the workarounds immediately. Releases -------- The fixed releases are available at the normal locations. Workarounds ----------- The following monkey patch placed in an initializer can be used to work around the issue: ```ruby module ActionController::HttpAuthentication::Token AUTHN_PAIR_DELIMITERS = /(?:,|;|\t)/ end ``` 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. * 5-2-http-authentication-dos.patch - Patch for 5.2 series * 6-0-http-authentication-dos.patch - Patch for 6.0 series * 6-1-http-authentication-dos.patch - Patch for 6.1 series Please note that only the 6.1.Z, 6.0.Z, and 5.2.Z series are supported at present. Users of earlier unsupported releases are advised to upgrade as soon as possible as we cannot guarantee the continued availability of security fixes for unsupported releases. Credits ------- Thank you to https://hackerone.com/wonda_tea_coffee for reporting this issue!

Remediation

Upgrade to the fixed version using your package manager.

Bundler
Update actionpack to 5.2.6 or later
gem install actionpack -v 5.2.6
Bundler
Update actionpack to 6.0.3.7 or later
gem install actionpack -v 6.0.3.7
Bundler
Update actionpack to 5.2.4.6 or later
gem install actionpack -v 5.2.4.6
Bundler
Update actionpack to 6.1.3.2 or later
gem install actionpack -v 6.1.3.2

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (4)

PackageEcosystemAffectedFixed In
actionpack
rubygems
5.2.55.2.6
actionpack
rubygems
6.0.0, 6.0.1, 6.0.1.rc1, 6.0.2 (+12 more)6.0.3.7
actionpack
rubygems
4.0.0, 4.0.1, 4.0.1.rc1, 4.0.1.rc2 (+167 more)5.2.4.6
actionpack
rubygems
6.1.0, 6.1.1, 6.1.2, 6.1.2.1 (+2 more)6.1.3.2

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-400
    Uncontrolled Resource ConsumptionMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 7.5 score means for each attack dimension.

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

Frequently Asked Questions

What is CVE-2021-22904?
Possible DoS Vulnerability in Action Controller Token Authentication This vulnerability has been assigned a severity rating of HIGH (CVSS score: 7.5/10).
How do I check if my project is affected by CVE-2021-22904?
CVE-2021-22904 affects actionpack. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2021-22904 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
7.5

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-7wjx-3g7j-8584

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies