← Back to CVEs
CVE-2009-2422
CRITICAL9.8
Description
The example code for the digest authentication functionality (http_authentication.rb) in Ruby on Rails before 2.3.3 defines an authenticate_or_request_with_http_digest block that returns nil instead of false when the user does not exist, which allows context-dependent attackers to bypass authentication for applications that are derived from this example by sending an invalid username without a password.
CVE Details
CVSS v3.1 Score9.8
SeverityCRITICAL
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack VectorNETWORK
ComplexityLOW
Privileges RequiredNONE
User InteractionNONE
Published7/10/2009
Last Modified4/23/2026
Sourcenvd
Honeypot Sightings0
Affected Products
apple:mac_os_xapple:mac_os_x_serverrubyonrails:ruby_on_rails
Weaknesses (CWE)
CWE-287
References
http://secunia.com/advisories/35702(cve@mitre.org)
http://support.apple.com/kb/HT4077(cve@mitre.org)
http://weblog.rubyonrails.org/2009/6/3/security-problem-with-authenticate_with_http_digest(cve@mitre.org)
http://www.securityfocus.com/bid/35579(cve@mitre.org)
http://www.vupen.com/english/advisories/2009/1802(cve@mitre.org)
https://exchange.xforce.ibmcloud.com/vulnerabilities/51528(cve@mitre.org)
http://lists.apple.com/archives/security-announce/2010//Mar/msg00001.html(af854a3a-2127-422b-91ae-364da2661108)
http://n8.tumblr.com/post/117477059/security-hole-found-in-rails-2-3s(af854a3a-2127-422b-91ae-364da2661108)
http://secunia.com/advisories/35702(af854a3a-2127-422b-91ae-364da2661108)
http://support.apple.com/kb/HT4077(af854a3a-2127-422b-91ae-364da2661108)
http://weblog.rubyonrails.org/2009/6/3/security-problem-with-authenticate_with_http_digest(af854a3a-2127-422b-91ae-364da2661108)
http://www.securityfocus.com/bid/35579(af854a3a-2127-422b-91ae-364da2661108)
http://www.vupen.com/english/advisories/2009/1802(af854a3a-2127-422b-91ae-364da2661108)
https://exchange.xforce.ibmcloud.com/vulnerabilities/51528(af854a3a-2127-422b-91ae-364da2661108)
IOC Correlations
No correlations recorded
This product uses data from the NVD API but is not endorsed or certified by the NVD.