
Exploit de prueba de concepto mínimo para CVE-2025-49132 en paneles Pterodactyl; lee archivos PHP para extraer credenciales de base de datos y habilitar acceso administrativo no autorizado.
/locales/locale.json con los parámetros de consulta locale y namespace, un actor malicioso puede ejecutar código arbitrario sin autenticación. Con la capacidad de ejecutar código arbitrario, podría usarse para obtener acceso al servidor del Panel, leer credenciales de la configuración del Panel, extraer información sensible de la base de datos, acceder a archivos de servidores gestionados por el panel, etc. Este problema se ha corregido en la versión 1.11.11. No hay soluciones de software para esta vulnerabilidad, pero el uso de un Firewall de Aplicaciones Web (WAF) externo podría ayudar a mitigar este ataque.El atacante envía una solicitud GET a /locales/locale.json; si la respuesta devuelve un JSON y la URL no contiene el parámetro hash=, entonces es vulnerable a CVE-2025-49132.
Para explotar la vulnerabilidad tienes que usar los parámetros locale= y namespace= al mismo tiempo para leer SOLO ARCHIVOS PHP y obtendrás una respuesta JSON con las variables almacenadas en el archivo PHP que seleccionaste.
Por ejemplo: /locales/locale.json?locale=../../../pterodactyl&namespace=config/database
Para encontrar archivos PHP más interesantes que leer, puedes revisar el repositorio oficial de Pterodactyl ^^
Obtén las credenciales de la base de datos con el comando: python3 CVE-2025-49132_PoC.py.py <url>
usersEn este punto deberías tener conocimientos básicos de pentesting para saber cómo obtener una reverse shell.