Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
A low-privileged account suffices (PR:L) and it is network-reachable (AV:N), but exploitation depends on an egg rendering a user-editable variable into a config file (AC:H); stolen token enables full-node compromise, so S:C and C/I/A:H.
Primary rating from Vendor (https://github.com/pterodactyl/wings).
CVSS VectorVendor: https://github.com/pterodactyl/wings
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Lifecycle Timeline
3DescriptionCVE.org
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.
Articles & Coverage 1
AnalysisAI
Sensitive-credential disclosure leading to full node compromise in Pterodactyl Wings before v1.12.3 lets a low-privileged, authenticated panel user (a server owner or a subuser holding startup.update) smuggle a {{config.*}} placeholder through a user-editable egg variable, causing Wings to resolve it against its entire daemon configuration and write secrets - including the node daemon token, token_id, and Docker registry credentials - into a file the user can read via the file manager or SFTP. Because the daemon token is both the Panel⇆Wings API bearer and the HMAC signing key for every JWT the node issues, an attacker can then forge tokens and act against every server on the node. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Requires an authenticated low-privileged panel account that can set an egg variable value - a server owner, or a subuser with the startup.update permission (PR:L). … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The supplied CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, 9.9) reflects a genuinely severe outcome: network-reachable, low-complexity, only low privileges (a normal server owner) needed, no user interaction, and a scope change because disclosure of the daemon token cascades into control of every server on the node. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | A customer on a shared game-hosting node who owns a single low-tier server (or a subuser granted startup.update) edits an egg variable that the egg renders into a server config file, setting its value to include {{config.token}}. Wings resolves the placeholder against its full daemon configuration and writes the node's daemon token into the file, which the attacker reads back over SFTP or the panel file manager; they then use that token to forge JWTs and issue privileged Wings API calls against every other server on the node. … |
| Remediation | Vendor-released patch: Wings v1.12.3 - upgrade every affected node's Wings daemon to v1.12.3 or later, which restricts {{config.*}} resolution to a non-secret subset (only the Docker network interface). … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, inventory all Pterodactyl Wings installations and identify currently deployed versions; simultaneously assess which personnel hold server owner or startup.update permissions, as these users can exploit this vulnerability. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2
An issue in Plone Docker Official Image 5.2.13 (5221) open-source software that could allow for remote code execution du
Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Rated critical seve
Same weakness CWE-200 – Information Exposure
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-51568
GHSA-pfvc-3p5h-x7h6