Wings is the server control plane for Pterodactyl, a free, open-source game server management panel. Prior to version 1.12.1, a missing authorization check in multiple controllers allows any user with access to a node secret token to fetch information about any server on a Pterodactyl instance, even if that server is associated with a different node. This issue stems from missing logic to verify that the node requesting server data is the same node that the server is associated with. Any authenticated Wings node can retrieve server installation scripts (potentially containing secret values) and manipulate the installation status of servers belonging to other nodes. Wings nodes may also manipulate the transfer status of servers belonging to other nodes. This vulnerability requires a user to acquire a secret access token for a node. Unless a user gains access to a Wings secret access token they would not be able to access any of these vulnerable endpoints, as every endpoint requires a valid node access token. A single compromised Wings node daemon token (stored in plaintext at `/etc/pterodactyl/config.yml`) grants access to sensitive configuration data of every server on the panel, rather than only to servers that the node has access to. An attacker can use this information to move laterally through the system, send excessive notifications, destroy server data on other nodes, and otherwise exfiltrate secrets that they should not have access to with only a node token. Additionally, triggering a false transfer success causes the panel to delete the server from the source node, resulting in permanent data loss. Users should upgrade to version 1.12.1 to receive a fix.
Many controllers in Wings do not verify whether the node requesting server data is actually the node with which that server is associated. By possessing the access token of one node (stored in plain text in the `/etc/pterodactyl/config.yml` file), an attacker can query endpoints of other nodes — retrieve server installation scripts (which may contain secret values), manipulate installation status and transfer status of servers belonging to other nodes. Triggering a false transfer success causes the panel to remove the server from the source node, resulting in permanent data loss.
An attacker can gain access to sensitive configuration data of all servers in the instance, exfiltrate secrets, destroy server data on other nodes, and cause permanent data loss by manipulating transfer status.
Update Pterodactyl Wings to version 1.12.1, which contains a patch adding missing authorization verification. After updating, it is recommended to rotate node access tokens that may have been compromised.
Pterodactyl Wings in versions earlier than 1.12.1
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XPterodactyl Panel
APPPterodactyl< 1.12.1
Related vulnerabilities
Pterodactyl is a free, open-source game server management panel. Versions 1.11.11 and below do not revoke acti...
Pterodactyl is an open-source game server management panel built with PHP 7, React, and Go. A malicious user c...
Pterodactyl before 0.7.14 with 2FA allows credential sniffing.
Pterodactyl to bezpłatny, otwartoźródłowy panel zarządzania serwerami gier. Aplikacja implementuje limity szyb...
Pterodactyl to darmowy, open-source'owy panel zarządzania serwerami gier. Wersje 1.11.11 i starsze pozwalają n...