Skip to content

← Public intelligence

Packagist package

pterodactyl/panel

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

19 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. High, CVSS 8.1PackagistAmendedPublished

    Pterodactyl's improper JWT scoping allows subuser to upload files when not explicitly granted file.create permissions

    CVE-2026-54593 · GHSA-8r6w-3qq5-4p4r

    Affected
    • Packagist pterodactyl/panel < 1.12.3
    Fixed in
    1.12.3· Vendor fix available
    Issue
    A privilege escalation vulnerability exists in the Wings /upload/file endpoint due to insufficient validation of panel-signed JWTs. Wings accepts any valid panel-signed JWT containing serveruuid, useruuid, and uniqueid, regardless of the token’s intended purpose. Because the Panel issues JWTs with these same claims for other lower-privilege operations (such as WebSocket authentication and file download links), an authenticated subuser can reuse one of those tokens to upload arbitrary files without possessing the required file.create permission. Impact Any subuser with permission to connect to a server's console, download files, or download backups could reuse those tokens to upload arbitrary files to the same server. A user that does not have access to a server as a subuser is not able to arbitrarily upload files. Details The panel generated JWT tokens for various purposes: -…

    Recommended action: Upgrade to 1.12.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  2. High, CVSS 7.5PackagistAmendedPublished

    Pterodactyl's shared global rate-limit key on login and 2FA checkpoint enables unauthenticated panel-wide authentication lockout (DoS)

    CVE-2026-61609 · GHSA-xvc3-826v-xf47

    Affected
    • Packagist pterodactyl/panel >= 1.7.0, <= 1.12.4
    Fixed in
    1.13.0· Vendor fix available
    Issue
    The authentication rate limiter used for the login and two-factor checkpoint endpoints applies a single global bucket shared by every client, instead of keying per IP or per account. An unauthenticated attacker sending ~10 requests per minute from one IP exhausts the shared bucket and causes HTTP 429 for every user on every IP attempting to log in or complete 2FA, for as long as the attack is sustained. This is a trivially triggered, unauthenticated, panel-wide authentication denial of service. Details In app/Providers/RouteServiceProvider::configureRateLimiting() the limiter is defined as: The forgot-password branch is correctly scoped with -by($request-ip()). The fall-through return, which covers POST /auth/login and POST /auth/login/checkpoint (see routes/auth.php, the throttle:authentication group), omits -by() entirely. For a named limiter, Laravel 11 derives the cache key as md5($limiterName . $limit-key)…

    Recommended action: Upgrade to 1.13.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:osv.dev (1)github.com (2)Source checked Evidence →
  3. Medium, CVSS 5.5PackagistPublished

    Pterodactyl Panel: Client email change endpoint allows enumeration of accounts in system

    GHSA-j7f5-gfqm-pcx3

    Affected
    • Packagist pterodactyl/panel < 1.12.3
    Fixed in
    1.12.3· Vendor fix available
    Issue
    An unprotected user enumeration vulnerability exists in the account email update endpoint, allowing authenticated users to verify whether email addresses are registered on the panel through automated requests without rate limiting or CAPTCHA protection. Details The account settings page allows authenticated users to update their email address through a POST request. Unlike the login and password reset forms which implement reCAPTCHA and rate limiting protections, this endpoint lacks these safeguards entirely. An attacker can capture the email update request (for example, using Burp Suite's proxy) and modify the email field to test arbitrary addresses. The panel's response will confirm whether each tested email is already registered in the system. Because there are no rate limits implemented, attackers can send hundreds or thousands of requests to enumerate the user base. This is concerning because: - The login and password reset pages correctly implement protections against…

    Recommended action: Upgrade to 1.12.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  4. Low, CVSS 2.3PackagistPublished

    Pterodactyl has a database resource limit bypass via race condition in Client API

    CVE-2026-35202 · GHSA-fgmm-w5cx-vrfw

    Affected
    • Packagist pterodactyl/panel < 1.12.3
    Fixed in
    1.12.3· Vendor fix available
    Issue
    The Pterodactyl Client API has a logic flaw that lets users bypass their assigned limits for database allocations. This happens because the database locking mechanism used in the controllers is totally broken and doesn't actually lock anything. Details Inside DatabaseController.php, the code tries to prevent multiple databases from being created at once by calling $server-databases()-lockForUpdate(). In Laravel, this just configures a query builder but never actually sends a command to the database because it’s missing a terminal method like count() or get(). It’s basically a no-op that does nothing. Since there’s no real lock, multiple requests hitting the endpoint at the exact same time will all see that the database count is under the limit. They all move forward to the DeployServerDatabaseService and successfully create extra resources on the physical host. Impact Users are able to create more databases than they are supposed to, potentially also breaking the web interface.

    Recommended action: Upgrade to 1.12.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  5. Critical, CVSS 9.2PackagistPublished

    Pterodactyl Panel Allows Cross-Node Server Configuration Disclosure via Remote API Missing Authorization

    CVE-2026-26016 · GHSA-g7vw-f8p5-c728

    Affected
    • Packagist pterodactyl/panel < 1.12.1
    Fixed in
    1.12.1· Vendor fix available
    Issue
    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. We rated this issue based on potential worst outcome. 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. Details 1. The Remote API endpoint GET…

    Recommended action: Upgrade to 1.12.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  6. High, CVSS 7.5PackagistPublished

    Pterodactyl Panel's SFTP sessions remain active after user account deletion or password change

    GHSA-hr7j-63v7-vj7g

    Affected
    • Packagist pterodactyl/panel < 1.12.1
    Fixed in
    1.12.1· Vendor fix available
    Issue
    Deleting a user account with SFTP access or changing the user's password does not immediately terminate existing SFTP sessions, allowing continued filesystem access after credentials are revoked. This can result in unintended and unauthorized access to server files even after administrators believe access has been fully invalidated. Details When a user with SFTP access is deleted from the Pterodactyl Panel or when the user's password is changed while one or more SFTP connections are active, those existing connections remain fully functional. Neither account deletion nor password change invalidates the authentication state of already-established SFTP sessions. As a result, the active SFTP connection pool continues to allow read and write operations until the client disconnects or the session times out. This behavior occurs even when the password is changed by an administrator through the panel, meaning credential rotation does not revoke active access. This suggests that…

    Recommended action: Upgrade to 1.12.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  7. Medium, CVSS 6.0PackagistPublished

    Pterodactyl improperly locks resources allowing raced queries to create more resources than alloted

    CVE-2025-69198 · GHSA-jw2v-cq5x-q68g

    Affected
    • Packagist pterodactyl/panel < 1.12.0
    Fixed in
    1.12.0· Vendor fix available
    Issue
    Pterodactyl implements rate limits that are applied to the total number of resources (e.g. databases, port allocations, or backups) that can exist for an individual server. These resource limits are applied on a per-server basis, and validated during the request cycle. However, it is possible for a malicious user to send a massive volume of requests at the same time that would create more resources than the server is allotted. This is because the validation occurs early in the request cycle and does not lock the target resource while it is processing. As a result sending a large volume of requests at the same time would lead all of those requests to validate as not using any of the target resources, and then all creating the resources at the same time. As a result a server would be able to create more databases, allocations, or backups than configured. Impact A malicious user is able to deny resources to other users on the system, and may be able to excessively consume the…

    Recommended action: Upgrade to 1.12.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  8. Medium, CVSS 6.5PackagistPublished

    Pterodactyl TOTPs can be reused during validity window

    CVE-2025-69197 · GHSA-rgmp-4873-r683

    Affected
    • Packagist pterodactyl/panel < 1.12.0
    Fixed in
    1.12.0· Vendor fix available
    Issue
    When a user signs into an account with 2FA enabled they are prompted to enter a token. When that token is used, it is not sufficiently marked as used in the system allowing an attacker that intercepts that token to then use it in addition to a known username/password during the token validity window. This vulnerability requires that an attacker already be in possession of a valid username and password combination, and intercept a valid 2FA token (for example, during a screen share). The token must then be provided in addition to the username and password during the limited token validity window. The validity window is ~60 seconds as the Panel allows at most one additional window to the current one, each window being 30 seconds.

    Recommended action: Upgrade to 1.12.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  9. High, CVSS 7.5PackagistPublished

    Pterodactyl does not revoke SFTP access when server is deleted or permissions reduced

    CVE-2025-68954 · GHSA-8c39-xppg-479c

    Affected
    • Packagist pterodactyl/panel < 1.12.0
    Fixed in
    1.12.0· Vendor fix available
    Issue
    Pterodactyl does not revoke active SFTP connections when a user is removed from a server instance or has their permissions changes with respect to file access over SFTP. This allows a user that was already connected to SFTP to remain connected and access files even after their permissions are revoked. Details When a user opens a connection to a server using the Wings SFTP server instance the permissions are checked and returned from the authentication API call made to the Panel. However, credentials are not checked again after the initial handshake. Thus, if a user is removed from a server in the panel or have their permissions modified, those permissions are not updated in the SFTP connection. As a result, a user that has already gained access to a server's files via the SFTP subsystem will maintain those permissions until disconnected (via Wings restart, or a manual disconnection on their end). [!NOTE] This issue impacts the SFTP subsystem for server files specifically.…

    Recommended action: Upgrade to 1.12.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  10. Low, CVSS 2.0PackagistPublished

    Pterodactyl has a Reflected XSS vulnerability in “Create New Database Host”

    GHSA-mgr9-6c2j-jxrq

    Affected
    • Packagist pterodactyl/panel < 1.12.0
    Fixed in
    1.12.0· Vendor fix available
    Issue
    [!NOTE] Message from the Pterodactyl team: The Pterodactyl team has evaluated this as a minor security issue but does not consider it something that should be assigned a CVE, nor does it require active patching by vulnerable systems. This issue is entirely self-inflicted and requires an administrative user paste an obviously incorrect value into a database host field, submit it, and run into the XSS when the error message is rendered. However, we have determined that this fix is good security hygiene and may prevent issues in other areas not yet discovered. Summary When an administrative user creates a new database host they are prompted to provide a Host value which is expected to be a domain or IP address. When an invalid value is encountered and passed back to gethostaddr and/or directly to the MySQL connection tooling, an error is returned. This error is then passed back along to the front-end, but was not properly sanitized when rendered. Therefore it is possible for an admin to…

    Recommended action: Upgrade to 1.12.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  11. Critical, CVSS 10.0PackagistPublished

    Pterodactyl Panel Allows Unauthenticated Arbitrary Remote Code Execution

    CVE-2025-49132 · GHSA-24wv-6c99-f843

    Affected
    • Packagist pterodactyl/panel <= 1.11.10
    Fixed in
    1.11.11· Vendor fix available
    Issue
    Impact Using the /locales/locale.json with the locale and namespace query parameters, a malicious actor is able to execute arbitrary code, without being authenticated. With the ability to execute arbitrary code, this vulnerability can be exploited in an infinite number of ways. It could be used to gain access to the Panel's server, read credentials from the Panel's config (.env or otherwise), extract sensitive information from the database (such as user details [username, email, first and last name, hashed password, ip addresses, etc]), access files of servers managed by the panel, etc. Patches This vulnerability was patched by https://github.com/pterodactyl/panel/commit/24c82b0e335fb5d7a844226b08abf9f176e592f0 and was released under the v1.11.11 tag without any other code modifications compared to v1.11.10. For those who need to patch their installations in-place or apply it on top of other code modifications, a patch file can be retrieved from…

    Recommended action: Upgrade to 1.11.11 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  12. Medium, CVSS 4.6PackagistPublished

    Pterodactyl Panel has plain-text logging of user passwords when two-factor authentication is disabled

    CVE-2024-49762 · GHSA-c479-wq8g-57hr

    Affected
    • Packagist pterodactyl/panel < 1.11.8
    Fixed in
    1.11.8· Vendor fix available
    Issue
    Impact When a user disables two-factor authentication via the Panel, a DELETE request with their current password in a query parameter will be sent. While query parameters are encrypted when using TLS, many webservers (including ones officially documented for use with Pterodactyl) will log query parameters in plain-text, storing a user's password in plain text. If a malicious user obtains access to these logs they could potentially authenticate against a user's account; assuming they are able to discover the account's email address or username separately. Patches This problem has been patched by <https://github.com/pterodactyl/panel/commit/8be2b892c3940bdc0157ccdab16685a72d105dd1 on the 1.0-develop branch and released under v1.11.8 as a single commit on top of v1.11.7 <https://github.com/pterodactyl/panel/commit/75b59080e2812ced677dab516222b2a3bb34e3a4 Patch file: <https://github.com/pterodactyl/panel/commit/8be2b892c3940bdc0157ccdab16685a72d105dd1.patch Workarounds There are no…

    Recommended action: Upgrade to 1.11.8 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  13. Medium, CVSS 6.1PackagistPublished

    Pterodactyl panel's admin area vulnerable to Cross-site Scripting

    CVE-2024-34067 · GHSA-384w-wffr-x63q

    Affected
    • Packagist pterodactyl/panel < 1.11.6
    Fixed in
    1.11.6· Vendor fix available
    Issue
    Impact Importing a malicious egg or gaining access to wings instance could lead to XSS on the panel, which could be used to gain an administrator account on the panel. Specifically, the following things are impacted: - Egg Docker images - Egg variables: - Name - Environment variable - Default value - Description - Validation rules Additionally, certain fields would reflect malicious input, but it would require the user knowingly entering such input to have an impact. To iterate, this would require an administrator to perform actions and can't be triggered by a normal panel user. Workarounds No workaround is available other than updating to the latest version of the panel. Patches All of the following commits are required to resolve this security issue: https://github.com/pterodactyl/panel/commit/1172d71d31561c4e465dabdf6b838e64de48ad16 https://github.com/pterodactyl/panel/commit/f671046947e4695b5e1c647df79305c1cefdf817…

    Recommended action: Upgrade to 1.11.6 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  14. High, CVSS 7.5PackagistPublished

    Pterodactyl vulnerable to 2FA Sniffing

    CVE-2019-1020002 · GHSA-fg52-xjfc-9rh8

    Affected
    • Packagist pterodactyl/panel <= 0.7.13
    Fixed in
    0.7.14· Vendor fix available
    Issue
    Pterodactyl version 0.7.13 and lower - 2FA Sniffing Users who have enabled 2FA protections on their account can unintentionally have their account's existence sniffed by malicious users who enter random credentials into the login fields. Impact Users who have enabled 2FA protections on their account can unintentionally have their account's existence sniffed by malicious users who enter random credentials into the login fields. A logical mistake was made when the original code was written that would wait to verify the user's password until they had provided 2FA credentials if it was enabled on their account. However, because of this you could enter a bad password for a known email and determine if the account exists if you got redirected to a 2FA page. For more information If you have any questions or comments about this advisory please react out on Discord or email dane@[project name].io.

    Recommended action: Upgrade to 0.7.14 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  15. Medium, CVSS 6.0PackagistPublished

    Insufficient Session Expiration in Pterodactyl API

    GHSA-7v3x-h7r2-34jv

    Affected
    • Packagist pterodactyl/panel < 1.7.0
    Fixed in
    1.7.0· Vendor fix available
    Issue
    Impact A vulnerability exists in Pterodactyl Panel <= 1.6.6 that could allow a malicious attacker that compromises an API key to generate an authenticated user session that is not revoked when the API key is deleted, thus allowing the malicious user to remain logged in as the user the key belonged to. It is important to note that a malicious user must first compromise an existing API key for a user to exploit this issue. It cannot be exploited by chance, and requires a coordinated attack against an individual account using a known API key. Patches This issue has been addressed in the v1.7.0 release of Pterodactyl Panel. Workarounds Those not wishing to upgrade may apply the change below: For more information If you have any questions or comments about this advisory please reach out to Tactical Fish#8008 on Discord or email dane@pterodactyl.io.

    Recommended action: Upgrade to 1.7.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  16. Medium, CVSS 4.3PackagistPublished

    Cross-Site Request Forgery allowing sending of test emails and generation of node auto-deployment keys

    CVE-2021-41273 · GHSA-wwgq-9jhf-qgw6

    Affected
    • Packagist pterodactyl/panel < 1.6.6
    Fixed in
    1.6.6· Vendor fix available
    Issue
    Impact Due to improperly configured CSRF protections on two routes, a malicious user could execute a CSRF-based attack against the following endpoints: Sending a test email. Generating a node auto-deployment token. At no point would any data be exposed to the malicious user, this would simply trigger email spam to an administrative user, or generate a single auto-deployment token unexpectedly. This token is not revealed to the malicious user, it is simply created unexpectedly in the system. Patches This has been addressed in https://github.com/pterodactyl/panel/commit/bf9cbe2c6d5266c6914223e067c56175de7fc3a5 which will be released as 1.6.6. Workarounds Users may optionally manually apply the fixes released in v1.6.6 to patch their own systems.

    Recommended action: Upgrade to 1.6.6 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  17. UnratedPackagistPublished

    pterodactyl/panel CSRF allowing an external page to trigger a user logout event

    CVE-2021-41176 · GHSA-m49f-hcxp-6hm6

    Affected
    • Packagist pterodactyl/panel >= 1.0.0, < 1.6.3
    Fixed in
    1.6.3· Vendor fix available
    Issue
    Impact A malicious user can trigger a user logout if a signed in user visits a malicious website that makes a request to the Panel's sign-out endpoint. This requires a targeted attack against a specific Panel instance, and serves only to sign a user out. No user details are leaked, nor is any user data affected, this is simply an annoyance at worst. Patches None. Workarounds None. For more information If you have any questions or comments about this advisory please contact Tactical Fish#8008 on Discord, or email dane@pterodactyl.io.

    Recommended action: Upgrade to 1.6.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  18. High, CVSS 8.1PackagistPublished

    Pterodactyl Panel vulnerable to authentication bypass due to improper user-provided security token verification

    CVE-2021-41129 · GHSA-5vfx-8w6m-h3v4

    Affected
    • Packagist pterodactyl/panel >= 1.0.0, < 1.6.2
    Fixed in
    1.6.2· Vendor fix available
    Issue
    A malicious user can modify the contents of a confirmationtoken input during the two-factor authentication process to reference a cache value not associated with the login attempt. In rare cases this can allow a malicious actor to authenticate as a random user in the Panel. The malicious user must target an account with two-factor authentication enabled, and then must provide a correct two-factor authentication token before being authenticated as that user. Impact Due to a validation flaw in the logic handling user authentication during the two-factor authentication process a malicious user can trick the system into loading credentials for an arbitrary user by modifying the token sent to the server. This authentication flaw is present in the LoginCheckpointController@invoke method which handles two-factor authentication for a user. This controller looks for a request input parameter called confirmationtoken which is expected to be a 64 character random alpha-numeric string that…

    Recommended action: Upgrade to 1.6.2 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  19. UnratedPackagistPublished

    XSS vulnerability when listing users on add & modify server pages.

    GHSA-5822-pw57-vv37

    Affected
    • Packagist pterodactyl/panel < 0.7.19; >= 1.0.0-rc.0, <= 1.0.0-rc.6
    Fixed in
    1.0.0-rc.70.7.19· Vendor fix available
    Issue
    Impact An XSS vulnerability exists in versions of Pterodactyl Panel before 0.7.19. Affected versions do not properly sanitize account names before rendering them to the dropdown selector in the admin area when creating or modifying a server. Patches This XSS has been addressed in 0.7.19 and will be rolled forwards into the 1.0-rc.7 release. Workarounds No workaround exists without manual patching. See https://github.com/pterodactyl/panel/pull/2441/files for the files changed. For more information If you have any questions or comments about this advisory please reach out on Discord, or by emailing dane at pterodactyl dot io. Thank you to Sergej for the responsible disclosure of this issue.

    Recommended action: Upgrade to 1.0.0-rc.7 (pre-release) or 0.7.19 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →