CVE-2026-54593 Pterodactyl's improper JWT scoping allows subuser to upload files when not explicitly granted `file.create` permissions

High 8.1 Published Updated

Authenticated subusers can bypass file creation restrictions and upload arbitrary files by reusing JWTs issued for lower-privilege operations like WebSocket connections.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-54593?

CVE-2026-54593 is a high-severity missing authorization vulnerability in pterodactyl panel, published on 28 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

Pterodactyl is a free, open-source game server management panel. Prior to Panel version 1.12.3 and Wings version 1.12.2, the Wings /upload/file endpoint accepted any valid panel-signed JWT that contained server_uuid, user_uuid, and unique_id claims without checking the token's intended purpose; because the Panel issues JWTs carrying those same claims for lower-privilege operations such as WebSocket authentication and file-download links, an authenticated subuser could reuse one of those tokens (for example a WebSocket token obtained with only the websocket.connect permission) by replaying it against /upload/file to write arbitrary files to the same server, despite never being granted the file.create permission. This issue is fixed in Panel version 1.12.3 and Wings version 1.12.2.

Weakness: CWE-1270, CWE-1259

Which versions are affected by CVE-2026-54593?

5 open source packages ship an affected version, including pterodactyl/panel and github.com/pterodactyl/wings.

PackageAffectedFixed in
pterodactyl/panel PackagistAll versions1.12.3
pterodactyl/panel PackagistAll versions1.12.3
github.com/pterodactyl/wings GoAll versions1.12.2
github.com/pterodactyl/wings GoAll versions1.12.2
github.com/pterodactyl/wings GoAll versions1.12.2

How do I fix CVE-2026-54593?

Upgrade pterodactyl/panel to 1.12.3 or later.

Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.

Is CVE-2026-54593 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-54593 exists.

Sources

Also known as GHSA-8r6w-3qq5-4p4r, GO-2026-6120.

Is CVE-2026-54593 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free