CVE-2025-69198

6.5 MEDIUM

📋 TL;DR

This CVE describes a race condition vulnerability in Pterodactyl Panel where concurrent requests can bypass resource limits. Malicious users can create more databases, port allocations, or backups than allowed, potentially denying resources to others or exhausting system capacity. This affects all Pterodactyl Panel installations prior to version 1.12.0.

💻 Affected Systems

Products:
  • Pterodactyl Panel
Versions: All versions prior to 1.12.0
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: All default configurations are vulnerable. The vulnerability requires authenticated user access to exploit.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete exhaustion of node resources (ports, backup storage, databases) leading to denial of service for all users on the system and potential system instability.

🟠

Likely Case

Malicious users exceeding their allocated resource quotas, consuming shared resources that should be limited, and potentially impacting other users on the same node.

🟢

If Mitigated

Limited impact if proper network segmentation and resource monitoring are in place, though resource exhaustion could still occur within isolated segments.

🌐 Internet-Facing: HIGH - Pterodactyl panels are typically internet-facing game server management interfaces accessible to authenticated users.
🏢 Internal Only: MEDIUM - Internal-only deployments reduce attack surface but authenticated users could still exploit the vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access and ability to send concurrent requests. The race condition is straightforward to trigger with basic scripting.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.12.0

Vendor Advisory: https://github.com/pterodactyl/panel/security/advisories/GHSA-jw2v-cq5x-q68g

Restart Required: Yes

Instructions:

1. Backup your Pterodactyl installation and database. 2. Update to version 1.12.0 using the official update process. 3. Restart the Pterodactyl queue worker and web server. 4. Verify the update completed successfully.

🔧 Temporary Workarounds

Rate Limiting at Network Level

linux

Implement network-level rate limiting for authenticated endpoints to reduce concurrent request capability

# Example using nginx: limit_req_zone $binary_remote_addr zone=auth:10m rate=10r/s;
# Then apply to location blocks with: limit_req zone=auth burst=20 nodelay;

Resource Monitoring and Alerts

all

Monitor resource usage and set alerts for abnormal spikes in database, port, or backup creation

# Monitor with tools like Prometheus/Grafana or custom scripts
# Alert on resource creation exceeding normal thresholds

🧯 If You Can't Patch

  • Implement strict rate limiting at the application firewall or reverse proxy level
  • Monitor resource usage closely and implement automated resource cleanup for abnormal spikes

🔍 How to Verify

Check if Vulnerable:

Check Pterodactyl Panel version. If version is below 1.12.0, the system is vulnerable.

Check Version:

php artisan p:info | grep 'Panel Version'

Verify Fix Applied:

Verify version is 1.12.0 or higher and test resource creation with concurrent requests to ensure limits are enforced.

📡 Detection & Monitoring

Log Indicators:

  • Multiple concurrent resource creation requests from same user
  • Resource creation exceeding configured limits in logs
  • Error logs showing resource constraint violations

Network Indicators:

  • Bursts of POST requests to resource creation endpoints
  • High concurrent connection counts from single IPs

SIEM Query:

source="pterodactyl" ("created database" OR "created allocation" OR "created backup") | stats count by user, src_ip | where count > threshold

🔗 References

📤 Share & Export