Logto nie normalizuje adresów e-mail ani identyfikatorów użytkowników przed wyszukiwaniem kont, co umożliwia kolizję principals i nieautoryzowany dostęp do cudzego konta. Podatność jest krytyczna, ponieważ nie wymaga uwierzytelnienia ani interakcji ofiary.
▸ Pokaż oryginał (EN)
Logto performs principal lookup without normalizing email and identifier strings, enabling principal collision and unauthorized account access via case- or Unicode-different identities.
Podczas weryfikacji tożsamości system Logto porównuje identyfikatory (np. adresy e-mail) bez uprzedniej normalizacji pod kątem wielkości liter ani znaków Unicode. Atakujący może zarejestrować lub użyć identyfikatora różniącego się od istniejącego konta jedynie wielkością liter lub ekwiwalentnym znakiem Unicode (np. 'User@Example.com' zamiast 'user@example.com'). Takie dwie różne reprezentacje są traktowane jako różne principals, co prowadzi do kolizji i umożliwia uzyskanie dostępu do konta oryginalnego użytkownika. Podatny fragment kodu dotyczy mechanizmu Single Sign-On (SSO) w module weryfikacji.
Atakujący może uzyskać nieautoryzowany dostęp do konta innego użytkownika, co prowadzi do naruszenia poufności i integralności danych tego konta.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Docelowo producent powinien wprowadzić normalizację (lowercase oraz normalizacja Unicode) identyfikatorów i adresów e-mail przed każdym wyszukiwaniem principals.
Wersje wskazane w referencjach producenta (aplikacja Logto, moduł core — plik single-sign-on-guard.ts)
Podatny kod wskazany bezpośrednio w referencjach: packages/core/src/libraries/verification-helpers/single-sign-on-guard.ts, linie 23–33.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N