Skip to main content

Pterodactyl Wings CVE-2026-52855

| EUVDEUVD-2026-51568 CRITICAL
Information Exposure (CWE-200)
2026-07-31 https://github.com/pterodactyl/wings GHSA-pfvc-3p5h-x7h6
9.9
CVSS 3.1 · Vendor: https://github.com/pterodactyl/wings
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Authenticate as low-privileged server owner
  2. Delivery
    Inject {{config.token}} into user-editable egg variable
  3. Exploit
    Wings renders placeholder against full daemon config
  4. Install
    Secret written into server config file
  5. C2
    Read token via file manager or SFTP
  6. Execute
    Forge JWTs with stolen daemon token
  7. Impact
    Compromise every server on node

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

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). The decisive limiting precondition is that the server's egg must render a user-editable variable into a configuration file via a {{server.build.env.*}} substitution; if no user-editable variable is written into a config file (or such variables are marked non-editable), the placeholder is never resolved and the attack fails. The attacker must then be able to read the rendered file, i.e. have file-manager or SFTP access to their own server. No admin/end-user interaction is needed and exploitation is network-reachable. This egg pattern is common across stock and community eggs, so most multi-tenant / shared-hosting Wings deployments before v1.12.3 meet the condition, while single-tenant or fully-trusted deployments generally do not present a meaningful trust boundary to cross.

Impact

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. Two signals temper raw urgency: it is not in CISA KEV (no confirmed active exploitation) and no POC is referenced, so treat this as high-priority-but-not-yet-exploited. One important caveat: the base vector marks AC:L, but exploitation also requires that the target server's egg actually render a user-editable variable into a configuration file - a real precondition the vector does not capture (arguably AC:H or an attack requirement). No EPSS score or SSVC decision data was provided and none can be cited. Net: for multi-tenant / shared game-hosting operators this is a top-priority patch because the direct impact is full-node compromise from a cheap account; for single-tenant or fully-trusted deployments the practical risk is materially lower.

Exploit ScenarioDerived

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. No POC is publicly referenced, but the attack requires only a normal account and low complexity.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 31, 2026

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. No public exploit identified at time of analysis and it is not listed in CISA KEV, but the CVSS is 9.9 and the affected templating pattern is common across stock and community eggs.

RemediationAI

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). Patching alone is insufficient: because a previously exfiltrated daemon token stays valid until rotated, after upgrading you must rotate each affected node's daemon token via Admin → Nodes → Configuration → reset the token, then redeploy config.yml to the node. For operators who cannot upgrade immediately, the vendor workaround is to audit all eggs and ensure no user-editable variable is rendered into a configuration file, or mark such variables non-editable - this reduces exposure but is not a complete fix and carries the trade-off of removing legitimate user customization of those variables. See the advisory at https://github.com/pterodactyl/wings/security/advisories/GHSA-pfvc-3p5h-x7h6.

Affected VersionsENISA

wings < 1.12.3

Affected Packages

go github.com/pterodactyl/wings fix: 1.12.3
euvd wings fix: 1.12.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Pterodactyl is a widely used open-source game-server management platform split into a Panel (web control plane) and Wings (the Go daemon running on each node to manage Docker containers). Wings renders per-server configuration files using an 'egg' templating engine in which {{config.<path>}} placeholders are resolved against the daemon's own configuration. The root cause (CWE-200, Exposure of Sensitive Information) is that Wings marshalled its full config.Get() object and let jsonparser.Get() resolve any path within it, with no allow-list of readable keys. The fix commit (parser/parser.go) replaces json.Marshal(config.Get()) with a narrow templatableConfig struct exposing only docker.network.interface, and parser/helpers.go now refuses to substitute Object/Array JSON types - confirming that whole secret subtrees such as docker.registries were previously reachable. The trust-boundary failure is that the Panel forwards user-controlled egg variable values (rendered via {{server.build.env.*}}) into these replacements before Wings resolves them, so untrusted input reaches a privileged config lookup.

Know when Docker gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/pterodactyl/wings) PRIMARY 9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 8.5 HIGH

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.

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
SUSE CRITICAL

Primary rating from Vendor (https://github.com/pterodactyl/wings).

CVSS VectorVendor: https://github.com/pterodactyl/wings

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.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.

Executive ViewAI

Why It Matters

Pterodactyl Wings versions before v1.12.3 contain a critical credential disclosure vulnerability that allows any low-privileged authenticated panel user to extract daemon credentials and compromise all servers on a node. Although no public exploit identified at time of analysis, the attack is straightforward to execute for users with basic startup permissions and represents a severe risk to organizations using Pterodactyl Wings for game server hosting or containerized infrastructure management. Immediate patching is essential to prevent full infrastructure compromise.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
popular open-source game-server panel, common in shared hosting
Threat Intel
1
1 sources
Social Media
2
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2026-66384 MEDIUM POC
5.3 Aug 12

Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-52806 CRITICAL POC
9.9 Jun 23

Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config

CVE-2025-14707 HIGH POC
8.9 Dec 15

Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

Vendor StatusVendor

SUSE

Severity: Critical
Product Status
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy