Katalog CVE

CVE-2026-62967

WysokieCVSS 8.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.37%

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

Streszczenie

W ZTNET przed wersją 0.8.0 każdy uwierzytelniony użytkownik o niskich uprawnieniach może trwale dezaktywować inne konto, w tym administratora, poprzez POST /api/auth/user/invalidateUser. Handler sprawdza tylko istnienie sesji i nie porównuje session.user.id z userId dostarczonym przez klienta, więc podanie userId ofiary i nieistniejącej pary deviceId powoduje ustawienie isActive na false i odmowę logowania. Problem naprawiono w wersji 0.8.0.

Ocena ryzyka

Atakujący z zwykłym kontem może zablokować administratorów i dowolnych użytkowników, zakłócając zarządzanie organizacją i odmawiając dostępu. Może to prowadzić do paraliżu administracji i niedostępności usługi.

Rekomendacja

Zaktualizuj ZTNET do wersji 0.8.0 lub nowszej. Do czasu aktualizacji monitoruj wywołania endpointu /api/auth/user/invalidateUser i ogranicz dostęp do aplikacji.

Powiązane podatności

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

ZTNET is a ZeroTier web UI for private controllers with multiuser and organization support. Prior to 0.8.0, any authenticated low-privilege user can permanently deactivate another account, including an administrator, through `POST /api/auth/user/invalidateUser`. In `src/pages/api/auth/user/invalidateUser.ts`, `getServerSession` checks only that a session exists and does not compare `session.user.id` with the client-supplied `userId`. Supplying a victim's `userId` and a `deviceId` for which no matching pair exists in `UserDevice` makes the handler set the target account's `isActive` to false. Login is then refused by `src/server/auth.ts` with `account-expired`. An attacker needs only a normal authenticated account and the victim's user ID, which may be obtainable from member lists, UI responses, logs, or other application metadata. This can lock administrators out, disrupt organization management, and deny access to any targeted user. This issue is fixed in version 0.8.0.

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