
Exploit proof-of-concept minimal pour CVE-2025-49132 dans les panneaux Pterodactyl ; lit les fichiers PHP pour extraire les identifiants de base de données et permettre un accès administrateur non autorisé.
/locales/locale.json avec les paramètres de requête locale et namespace, un acteur malveillant est capable d'exécuter du code arbitraire sans être authentifié. Avec la capacité d'exécuter du code arbitraire, cela pourrait être utilisé pour obtenir un accès au serveur du panneau, lire les identifiants de la configuration du panneau, extraire des informations sensibles de la base de données, accéder aux fichiers des serveurs gérés par le panneau, etc. Ce problème a été corrigé dans la version 1.11.11. Il n'existe aucun contournement logiciel pour cette vulnérabilité, mais l'utilisation d'un pare-feu applicatif web (WAF) externe pourrait aider à atténuer cette attaque.L'attaquant envoie une requête GET à /locales/locale.json ; si la réponse vous renvoie un JSON et que l'URL ne contient pas le paramètre hash=, alors elle est vulnérable à CVE-2025-49132.
Pour exploiter la vulnérabilité, vous devez utiliser les paramètres locale= et namespace= en même temps pour lire UNIQUEMENT DES FICHIERS PHP et vous obtiendrez une réponse JSON avec les variables stockées dans le fichier PHP sélectionné.
Par exemple : /locales/locale.json?locale=../../../pterodactyl&namespace=config/database
Pour trouver des fichiers PHP plus intéressants à lire, vous pouvez consulter le dépôt officiel de Pterodactyl ^^
Obtenez les identifiants de la base de données avec la commande : python3 CVE-2025-49132_PoC.py.py <url>
usersÀ ce stade, vous devez avoir des connaissances de base en pentest pour savoir comment obtenir un reverse shell.