Share
## https://sploitus.com/exploit?id=DD5F5E86-3F90-58CE-B542-6E8B07D81FC8
# CVE-2025-49132
Pterodactyl is a free, open-source game server management panel. Prior to version 1.11.11, 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 it could be used to gain access to the Panel's server, read credentials from the Panel's config, extract sensitive information from the database, access files of servers managed by the panel, etc. This issue has been patched in version 1.11.11. There are no software workarounds for this vulnerability, but use of an external Web Application Firewall (WAF) could help mitigate this attack.
---
## How does it work
The attacker sends a GET request to `/locales/locale.json`, if the response returns you a JSON and the URL doesn't contain the parameter `hash=` then it's vulnerable to CVE-2025-49132.

To exploit the vulnerability you have to use the parameters `locale=` and `namespace=` at the same time to read __ONLY PHP FILES__ and you will get a JSON response with the variables stored in the PHP file you selected.

For example: `/locales/locale.json?locale=../../../pterodactyl&namespace=config/database`

To get more interesting PHP files to read you can check the official Pterodactyl repository ^^

## How to use the script
Get the database credentials with the command: `python3 CVE-2025-49132_PoC.py.py <url>`
## How to get access to a Pterodactyl panel as administrator with CVE-2025-49132
1. Get the database credentials
2. Find a way to establish a connection with their database using the credentials you have found (por 3306 open, local phpmyadmin, or directly phpmyadmin.co)
3. If you managed to get access to the database, congrats! you only have to create yourself a Pterodactyl account in the `users` table
4. Coonect to the panel with the user you created
5. Now you are connected to the panel as administrator and have access to everything :)

At this point you should have basic pentesting knowledge to know how to get a reverse shell