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 Status: Modified
Attribute | Value |
---|---|
Attack Complexity | LOW |
Attack Vector | NETWORK |
Availability Impact | HIGH |
Base Score | 9.8 |
Base Severity | CRITICAL |
Confidentiality Impact | HIGH |
Integrity Impact | HIGH |
Privileges Required | NONE |
Scope | UNCHANGED |
User Interaction | NONE |
Vector String | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Exploitability Score | 3.9 |
Impact Score | 5.9 |
Source | [email protected] |
Type | Primary |