Monitor vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
9.9

CVE-2026-52855: Wings Exposes Node Configuration Secrets

CVE-2026-52855 · published 1 month ago
Summary

Wings, a server management tool, accidentally shares sensitive information with users who can control certain settings. This could allow unauthorized users to access important secrets like passwords and API keys. To fix this, Wings needs to be updated to prevent users from accessing sensitive information.

What to do
  • Update github.com pterodactyl to version 1.12.3.
Affected software
Ecosystem VendorProductAffected versions
pterodactyl wings < 1.12.3
go github.com pterodactyl < 1.12.3
Fix: upgrade to 1.12.3
Original advisory text
Wings exposes node configuration secrets through egg configuration-file templating
### Impact

**Type:** Exposure of sensitive information / insufficiently protected credentials
leading to privilege escalation and full node compromise.

Wings exposes its **entire** daemon configuration to the egg configuration-file
templating engine. When Wings renders a server's configuration files, any
`{{config.<path>}}` placeholder in a replacement value is resolved against the
full marshalled daemon configuration, with no restriction on which paths may be
read.

Because the Panel substitutes **user-controlled** egg variable values into these
replacements before sending them to Wings, a low-privileged user can smuggle a
`{{config.*}}` placeholder through a variable value. The placeholder is then
resolved by Wings and written into a file inside the user's own server, where it
can be read via the file manager or SFTP.

This allows reading, among other values:

- `{{config.token}}` - the node's daemon token, which is both the API bearer for
  the Panel⇆Wings channel **and** the HMAC signing key for every JWT the node
  issues;
- `{{config.token_id}}`;
- `{{config.docker.registries}}` - configured container-registry credentials.

**Who is impacted:** Any deployment where a user who is not fully trusted can set
an egg variable value (e.g. a server owner or a subuser with the `startup.update`
permission) **and** the server's egg renders a user-editable variable into a
configuration file via `{{server.build.env.*}}`. This pattern is common across
stock and community eggs, so most multi-tenant / shared-hosting deployments are
affected.

**Resulting impact:** Disclosure of the node daemon token lets the attacker forge
authentication tokens and act against **every server on that node**, a full-node compromise reachable from a low-privileged
account.

### Patches

Yes. Fixed in **Wings `v1.12.3`** (Panel is unaffected; the fix is Wings-only).

Wings no longer exposes its full configuration to the templating engine only an
explicit, non-secret subset (the Docker network interface) can be resolved by
`{{config.*}}` placeholders.

Users should upgrade Wings to `v1.12.3` or later.

**After upgrading, rotate the affected nodes' daemon tokens**, since a previously
exfiltrated token remains valid until rotated (Admin → Nodes → Configuration →
reset the token, then re-deploy `config.yml` to the node).

### Workarounds

For operators who cannot upgrade immediately:

- Audit your eggs and ensure no **user-editable** variable is rendered into a
  configuration file, or mark such variables non-editable.

These reduce exposure but are not a complete fix; upgrading Wings is the
recommended action.
Severity
9.9 Critical
CVSS 3.1: 9.9 (MITRE)
Exploitation
EPSS <1%
Type
CWE-200Information Exposure
CWE-522Insufficiently Protected Credentials
Timeline
Published31 Jul 2026
Updated29 Aug 2026
First seen31 Jul 2026
Sources
CVE-2026-52855 · MITRE
Monitor software like this
Free during beta