Bug 2258494 (CVE-2024-21654)

Summary: CVE-2024-21654 rubygems: MFA bypass through password reset function could allow account takeover
Product: [Other] Security Response Reporter: Mauro Matteo Cascella <mcascell>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: vondruch
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
A flaw was found in Rubygems.org, the Ruby community's gem hosting service. Rubygems.org users with MFA enabled are normally protected from account takeover in the case of email account takeover. However, a workaround in the forgot password form may allow an attacker to bypass the MFA requirement and take over the account.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2258495    
Bug Blocks:    

Description Mauro Matteo Cascella 2024-01-15 17:22:32 UTC
Rubygems.org is the Ruby community's gem hosting service. Rubygems.org users with MFA enabled would normally be protected from account takeover in the case of email account takeover. However, a workaround on the forgotten password form allows an attacker to bypass the MFA requirement and takeover the account.

Security Advisory:
https://github.com/rubygems/rubygems.org/security/advisories/GHSA-4v23-vj8h-7jp2

Upstream fix:
https://github.com/rubygems/rubygems.org/commit/0b3272ac17b45748ee0d1867c49867c7deb26565

Comment 1 Mauro Matteo Cascella 2024-01-15 17:23:00 UTC
Created rubygems tracking bugs for this issue:

Affects: fedora-all [bug 2258495]

Comment 2 Vít Ondruch 2024-01-16 09:21:31 UTC
Unless I am mistaken, this is flaw in the http://rubygems.org service, not in the package.