CVE-2009-2422
CriticalSummary
Przykładowy kod funkcjonalności uwierzytelniania za pomocą digest w Ruby on Rails przed wersją 2.3.3 definiuje blok authenticate_or_request_with_http_digest, który zwraca nil zamiast false, gdy użytkownik nie istnieje. To pozwala atakującym na ominięcie uwierzytelnienia, wysyłając nieprawidłową nazwę użytkownika bez hasła.
Risk Assessment
Organizacje mogą być narażone na nieautoryzowany dostęp do aplikacji, które korzystają z tego przykładowego kodu, co może prowadzić do wycieku danych lub innych poważnych incydentów bezpieczeństwa.
Recommendation
Zaleca się aktualizację Ruby on Rails do wersji 2.3.3 lub nowszej oraz przegląd kodu aplikacji w celu zapewnienia, że mechanizmy uwierzytelniania są poprawnie zaimplementowane.
Original NVD description (English source)
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.

