CVE-2026-62967

    Dashboard / Vulnerabilities / CVE-2026-62967

    CVE-2026-62967

    Published: 30 Oct 2026Last Modified: 5 Nov 2026

    Summary: ZTNET privilege bypass: any user can deactivate arbitrary accounts via /api/auth/user/invalidateUser

    Details: 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.

    Affected packages

    Package

    Name:

    Purl:

    Affected ranges

    Type: GIT

    Events:

    Affected versions

    v0.7.18
    v0.7.17
    v0.7.16
    v0.7.15
    v0.7.14
    v0.7.13
    v0.7.12
    v0.7.11
    v0.7.10
    v0.7.9
    v0.7.8
    v0.7.7
    v0.7.6
    v0.7.5
    v0.7.4
    v0.7.3
    v0.7.2
    v0.7.1
    v0.7.0

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    CVE-2026-62967 | CVE-DB