<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Pterodactyl Wings (&lt; 1.12.2) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/pterodactyl-wings--1.12.2/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 28 Jul 2026 15:44:29 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/pterodactyl-wings--1.12.2/feed.xml" rel="self" type="application/rss+xml"/><item><title>Pterodactyl Wings Privilege Escalation via Improper JWT Scoping (CVE-2026-54593)</title><link>https://feed.craftedsignal.io/briefs/2026-07-pterodactyl-jwt-scoping/</link><pubDate>Tue, 28 Jul 2026 15:44:29 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-pterodactyl-jwt-scoping/</guid><description>A privilege escalation vulnerability, CVE-2026-54593, exists in Pterodactyl's Wings component that allows authenticated subusers to upload arbitrary files to a server without explicit file creation permissions, due to insufficient validation of panel-signed JSON Web Tokens (JWTs.</description><content:encoded><![CDATA[<p>A significant privilege escalation vulnerability, tracked as CVE-2026-54593, affects Pterodactyl Panel versions prior to 1.12.3 and Pterodactyl Wings versions prior to 1.12.2. The flaw resides in the Wings <code>/upload/file</code> endpoint, which improperly validates panel-signed JSON Web Tokens (JWTs). Specifically, Wings accepts any valid JWT containing <code>server_uuid</code>, <code>user_uuid</code>, and <code>unique_id</code>, irrespective of the token's intended purpose. This design flaw enables an authenticated subuser, even one with minimal permissions (e.g., only <code>websocket.connect</code>), to reuse a JWT issued for a lower-privilege operation (like WebSocket authentication or file downloads) to upload arbitrary files to the associated server. This bypasses the intended <code>file.create</code> permission checks, allowing unauthorized write access to the server's file system. This vulnerability affects anyone running vulnerable versions of the Pterodactyl game server management software.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An authenticated subuser gains minimal access to a Pterodactyl server, such as the ability to connect to the server's console (requiring <code>websocket.connect</code> permission).</li>
<li>The subuser makes an API request to a legitimate low-privilege endpoint on the Pterodactyl Panel, such as <code>/api/client/servers/[...]/websocket</code> or a file download endpoint, to obtain a panel-signed JSON Web Token (JWT).</li>
<li>The Pterodactyl Panel issues a JWT containing claims like <code>server_uuid</code>, <code>user_uuid</code>, and <code>unique_id</code>, which are used for various operations across the Panel and Wings.</li>
<li>The subuser intercepts and extracts this JWT.</li>
<li>The subuser then crafts an HTTP POST request to the Pterodactyl Wings <code>/upload/file</code> endpoint, including the obtained JWT as a query parameter (<code>?token=</code>).</li>
<li>The subuser includes arbitrary file content within the POST request, intending to upload it to the server.</li>
<li>The Pterodactyl Wings component, due to improper JWT scoping validation, accepts the JWT as valid for file upload, despite the token initially being issued for a different, lower-privilege action.</li>
<li>Wings proceeds to write the arbitrary file content to the server's file system, achieving unauthorized file upload and privilege escalation for the subuser.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows any authenticated subuser, regardless of their specific permissions on a server, to upload arbitrary files to that server. While the attacker must already have subuser access to the target server, this flaw significantly escalates their privileges beyond what is explicitly granted, potentially leading to unauthorized data modification, execution of malicious scripts, or further system compromise. The impact is confined to the specific server the subuser has access to; users without any subuser access cannot exploit this vulnerability. The inability to properly control file uploads can lead to data integrity issues, denial of service through disk exhaustion, or remote code execution if the uploaded files are executed by vulnerable services on the server.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li><strong>Patch CVE-2026-54593</strong>: Upgrade Pterodactyl Panel to version 1.12.3 or newer, and Pterodactyl Wings to version 1.12.2 or newer immediately to mitigate CVE-2026-54593.</li>
<li><strong>Deploy the Sigma rule</strong>: Implement the provided Sigma rule in your SIEM to detect suspicious file upload attempts on the Pterodactyl Wings <code>/upload/file</code> endpoint. Tune this rule by identifying and allowlisting legitimate uses of this endpoint.</li>
<li><strong>Enable webserver logging</strong>: Ensure detailed webserver access logs are enabled for your Pterodactyl Wings instance to capture HTTP requests, including method, URI, query parameters, and status codes, which are crucial for detecting this activity.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">threat</category><category>privilege-escalation</category><category>vulnerability</category><category>JWT</category><category>Pterodactyl</category><category>web-server</category></item></channel></rss>