CRITICAL🇬🇧 English

CVE-2019-5421

Plataformatec Devise – race condition w module lockable umożliwia brute force

CVSS 9.8v3.1pub. 2019-04-03upd. 2024-11-21

Podatność w bibliotece Devise (wersje do 4.5.0 włącznie) pozwala atakującemu na obejście mechanizmu blokowania konta po wielokrotnych nieudanych próbach logowania. Wynika to z błędu race condition w metodzie zliczającej nieudane próby uwierzytelnienia, co w praktyce uniemożliwia skuteczną ochronę przed atakami brute force.

Pokaż oryginał (EN)

Plataformatec Devise version 4.5.0 and earlier, using the lockable module contains a CWE-367 vulnerability in The `Devise::Models::Lockable` class, more specifically at the `#increment_failed_attempts` method. File location: lib/devise/models/lockable.rb that can result in Multiple concurrent requests can prevent an attacker from being blocked on brute force attacks. This attack appear to be exploitable via Network connectivity - brute force attacks. This vulnerability appears to have been fixed in 4.6.0 and later.

🤖 Analiza AI
Jak działa

Moduł `Devise::Models::Lockable` zlicza nieudane próby logowania za pomocą metody `#increment_failed_attempts` w pliku `lib/devise/models/lockable.rb`. Z powodu podatności CWE-367 (Time-of-check Time-of-use, TOCTOU) oraz CWE-307 (niewystarczające ograniczenie prób uwierzytelnienia), jednoczesne wysyłanie wielu żądań sieciowych powoduje, że licznik nieudanych prób nie jest poprawnie aktualizowany. W rezultacie blokada konta nie zostaje nałożona mimo przekroczenia dozwolonego limitu nieudanych logowań, co pozwala atakującemu kontynuować atak brute force bez przeszkód.

Skutki

Atakujący może przeprowadzać nieograniczone ataki brute force na konta użytkowników bez ryzyka ich zablokowania, co w konsekwencji może prowadzić do przejęcia kont i uzyskania nieautoryzowanego dostępu do chronionych zasobów aplikacji.

Mitygacja

Należy zaktualizować bibliotekę Devise do wersji 4.6.0 lub nowszej, w której podatność została naprawiona. Szczegóły dostępne w referencjach producenta (GitHub issue #4981 oraz pull request #4996).

Kogo dotyczy

Plataformatec Devise w wersji 4.5.0 i wcześniejszych, korzystające z modułu lockable.

Uwagi

Podatność dotyczy wyłącznie aplikacji korzystających z modułu lockable biblioteki Devise. Poprawka została wprowadzona w wersji 4.6.0 zgodnie z informacją zawartą w opisie CVE.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Plataformatec Devise

    APP
    Plataformatec
    ≤ 4.5.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2019-16109MEDIUM5.3ten sam produkt

An issue was discovered in Plataformatec Devise before 4.7.1. It confirms accounts upon receiving a request wi...

CVE-2013-0233MEDIUM6.8ten sam produkt

Devise gem 2.2.x before 2.2.3, 2.1.x before 2.1.3, 2.0.x before 2.0.5, and 1.5.x before 1.5.4 for Ruby, when u...

CVE-2019-16676CRITICAL9.8PL ✓ten sam vendor

Nieprawidłowa kontrola dostępu w Plataformatec Simple Form (RCE)