Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
🐘 Packagist

GHSA-j7f5-gfqm-pcx3

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

Published
Jun 26, 2026
Updated
Jun 26, 2026
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed

Blast Radius

1 pkg affected
🐘pterodactyl/panel

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.

Description

Summary

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 enumeration
  • The account page has no reCAPTCHA option available
  • No rate limiting exists in the panel for this endpoint
  • Authentication is required, but any valid account (including free tier/trial accounts) can exploit this

PoC

  • Log into the Pterodactyl panel with any valid account
  • Navigate to Account Settings
  • Open Burp Suite (or similar proxy tool) and configure your browser to proxy through it
  • Attempt to change your email address and capture the POST request
  • Send the captured request to Repeater
  • Modify the email field to test different addresses (e.g., [email protected], [email protected])
  • Send multiple requests in rapid succession
  • Observe the response messages which confirm whether each email exists or not
  • Repeat indefinitely without encountering rate limits or CAPTCHA challenges

Impact

This is a user enumeration vulnerability (CWE-204: Observable Response Discrepancy).

Who is impacted:

  • All Pterodactyl panel installations are affected
  • Any registered user's email address can be discovered
  • Particularly impacts administrators and high-value accounts

Potential consequences:

  • Attackers can build a complete database of registered users
  • Enumerated emails can be used for targeted phishing campaigns
  • Combined with other attacks (credential stuffing, social engineering)
  • Privacy violation for all users on the platform
  • Competitive intelligence gathering (identifying which companies/individuals use specific panels)

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
🐘Packagistpterodactyl/panelall versions1.12.3

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for pterodactyl/panel. O3's reachability analysis confirms whether the vulnerable code path is actually invoked in your application, so you act on real exposure instead of every transitive match.

  2. Fix

    Update pterodactyl/panel to 1.12.3 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-j7f5-gfqm-pcx3 is resolved across your whole dependency graph.

  3. Workarounds

    If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.

  4. How O3 protects you

    O3 pinpoints whether GHSA-j7f5-gfqm-pcx3 is reachable in your code and exactly where to fix it, then blocks exploitation in production at runtime until the patched version is deployed.

Tailored to GHSA-j7f5-gfqm-pcx3. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.

Frequently Asked Questions

### Summary 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
O3 Security · Impact-Aware SCA

Is GHSA-j7f5-gfqm-pcx3 in your dependencies?

O3 detects GHSA-j7f5-gfqm-pcx3 across Packagist dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.