You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Pterodactyl has a Reflected XSS vulnerability in “Create New Database Host”
Low severity
GitHub Reviewed
Published
Dec 27, 2025
in
pterodactyl/panel
•
Updated Dec 30, 2025
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 knowingly paste a malicious payload such as <script>prompt(document.domain)</script> into the Host field and XSS themselves.
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Learn more on MITRE.
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
Hostvalue which is expected to be a domain or IP address. When an invalid value is encountered and passed back togethostaddrand/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 knowingly paste a malicious payload such as
<script>prompt(document.domain)</script>into theHostfield and XSS themselves.References