Katalog CVE

CVE-2026-77561

ŚrednieCVSS 5.3
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Tinyauth przed wersją 5.1.0 pozwala nieuwierzytelnionemu zdalnemu atakującemu wysłać żądania POST /api/user/login z 257 różnymi nieistniejącymi nazwami użytkowników, aby wypełnić MaxLoginAttemptRecords i aktywować globalną blokadę logowania. Funkcja IsAccountLocked sprawdza ten globalny stan przed walidacją niepowiązanych kont, powodując, że prawidłowi użytkownicy otrzymują HTTP 429 przez około 300 sekund.

Ocena ryzyka

Atakujący może wywołać globalną blokadę logowania i uniemożliwić prawidłowym użytkownikom dostęp do usługi. Atak można powtarzać, choć istniejące sesje uwierzytelnione nie są unieważniane.

Rekomendacja

Zaktualizuj Tinyauth do wersji 5.1.0 lub nowszej, która naprawia globalną blokadę logowania. Rozważ ograniczenie liczby prób logowania na podstawie adresu IP i monitorowanie nietypowych wzorców.

Inne podatności w Tinyauth

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Tinyauth is an authentication and authorization server. Prior to 5.1.0, an unauthenticated remote attacker can send POST /api/user/login requests with 257 distinct nonexistent usernames to fill MaxLoginAttemptRecords and activate a global login lockdown. internal/controller/user_controller.go loginHandler passes each attacker-controlled identifier to internal/service/auth_service.go RecordLoginAttempt, which invokes lockdownMode after the map reaches its cap. IsAccountLocked checks that global state before validating unrelated accounts, causing valid users to receive HTTP 429 until auth.loginTimeout expires, approximately 300 seconds by default. The attack can be repeated, but existing authenticated sessions are not invalidated. This issue is fixed in version 5.1.0.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS