Katalog CVE

CVE-2026-100667

ŚrednieCVSS 5.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.31%

Percentyl 21 - wyżej niż 21% wszystkich znanych CVE

Streszczenie

grav-plugin-login (wtyczka logowania do Grav CMS) w wersjach >= 3.8.7 i < 3.9.7 pozwala na ominięcie wyzwania dwuskładnikowego uwierzytelniania (2FA) dla treści chronionych funkcją Twig `authenticated()` lub shortcode `[authenticated]`. Na stronach z włączonym 2FA, `Login::isAuthenticated()` sprawdza tylko flagę sesji oznaczającą pomyślny krok hasła, a nie flagę oznaczającą pełne zalogowanie, więc sesja na etapie podawania kodu 2FA jest traktowana jako w pełni uwierzytelniona. Atakujący znający hasło członka, ale nie mogący odpowiedzieć na drugi czynnik, może czytać treści dostępne tylko dla członków.

Ocena ryzyka

Ujawnienie treści przeznaczonych tylko dla członków, co może naruszyć poufność danych lub treści premium.

Rekomendacja

Zaktualizuj grav-plugin-login do wersji 3.9.7 lub nowszej, która zawiera poprawkę.

Powiązane podatności

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

grav-plugin-login (the Grav CMS Login plugin) versions >= 3.8.7 and < 3.9.7 allow the two-factor authentication challenge to be bypassed for content gated by the authenticated() Twig function or the [authenticated] shortcode. On sites with 2FA enabled, Login::isAuthenticated() checked only the session flag indicating that the password step had succeeded, not the flag indicating that login had completed, so a session sitting at the 2FA code prompt was treated as fully authenticated. An attacker who knows a member's password but cannot answer that member's second factor can therefore read member-only content rendered by the no-argument authenticated() or group authenticated(null, 'group') forms and by [authenticated]; the inverse [guest] shortcode is likewise evaluated too early. Impact is limited to disclosure of that content: the attacker does not obtain a completed session, cannot access pages protected by an access: rule, and cannot act as the user. The authenticated('some.permission') form, which goes through UserObject::authorize(), is not affected. Fixed in grav-plugin-login 3.9.7.

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