Pterodactyl's improper JWT scoping allows subuser to upload files when not explicitly granted `file.create` permissions
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| pterodactyl | panel | before 1.12.3 | 1.12.3 | Patch available | CNA |
| — | pterodactyl/panel (Packagist) | before 1.12.3 | 1.12.3 | Patch available | GHSA-8r6w-3qq5-4p4r |
| — | github.com/pterodactyl/wings (Go) | before 1.12.2 | 1.12.2 | Patch available | GHSA-8r6w-3qq5-4p4r |
- panel Vendorpterodactyl Affected before 1.12.3 Fixed in 1.12.3 Patch available CNA
- pterodactyl/panel (Packagist) Vendor— Affected before 1.12.3 Fixed in 1.12.3 Patch available GHSA-8r6w-3qq5-4p4r
- github.com/pterodactyl/wings (Go) Vendor— Affected before 1.12.2 Fixed in 1.12.2 Patch available GHSA-8r6w-3qq5-4p4r
Remediation
- Fix · CNA panel (pterodactyl) Fixed in 1.12.3
- Fix · GHSA-8r6w-3qq5-4p4r pterodactyl/panel (Packagist) Fixed in 1.12.3 Advisory →
- Fix · GHSA-8r6w-3qq5-4p4r github.com/pterodactyl/wings (Go) Fixed in 1.12.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-54593
- 2026-10-03 Alias added: GHSA-8r6w-3qq5-4p4r
References
Other 5
- https://github.com/pterodactyl/panel/security/advisories/GHSA-8r6w-3qq5-4p4r
- https://github.com/pterodactyl/panel/pull/5636
- https://github.com/pterodactyl/panel/commit/7ffcd636310bb72b54bac3280d2a15e727feded7
- https://github.com/pterodactyl/wings/commit/d0ddc80844479302abdaf9654de3bacd511c0f5c
- https://github.com/pterodactyl/panel
More pterodactyl vulnerabilities
- TI-2025-31212 Pterodactyl Panel Allows Unauthenticated Arbitrary Remote Code Execution CVSS 3.1CRITICAL 10.0
- TI-2024-17963 Improper isolation of server file access in github.com/pterodactyl/wings CVSS 3.1CRITICAL 10.0
- TI-2026-17479 Endless reprocessing/reupload of activity log data due to SQLite max parameters limit not being considered CVSS 4.0HIGH 8.3
- TI-2026-58966 Pterodactyl Panel before 1.14.1 Privilege Escalation via Schedule Tasks CVSS 4.0HIGH 8.7
- TI-2026-44131 Resource allocation without limits in pterodactyl panel CVSS 3.1HIGH 7.5
- TI-2026-44135 Pterodactyl Wings SFTP write path does not enforce disk quota, allowing node-wide disk exhaustion CVSS 3.1HIGH 7.7
Sources
- CVE-2026-54593 · CVE Program
- CVE-2026-54593 · NVD
- FIRST EPSS
- GHSA-8r6w-3qq5-4p4r · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences