Pterodactyl improperly locks resources allowing raced queries to create more resources than alloted
Moderate severity
GitHub Reviewed
Published
Jan 19, 2026
in
pterodactyl/panel
•
Updated Mar 29, 2026
Description
Published by the National Vulnerability Database
Jan 19, 2026
Published to the GitHub Advisory Database
Jan 20, 2026
Reviewed
Jan 20, 2026
Last updated
Mar 29, 2026
Summary
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 limited allocations for a node, or fill up backup space faster than is allowed by the system.
References