
# Laboratorio educativo que demuestra CVE-2026-2964, una vulnerabilidad de contaminación de prototipos en web-audio-recorder-js que conduce a RCE. Incluye servidores vulnerables y corregidos, scripts de configuración y payloads de ataque para formación práctica en seguridad.
Este repositorio contiene un entorno de laboratorio completo para CVE‑2026‑2964, una vulnerabilidad de prototype pollution en la librería web‑audio‑recorder‑js que puede conducir a la ejecución remota de código bajo condiciones específicas.
El laboratorio incluye:
index-vulnerable.js) que demuestra la cadena de ataque.index-fixed.js) que implementa una sanitización adecuada y validación mediante lista blanca.Requisitos previos:
npm (incluido con Node.js)curl (para descargar el archivo de la librería durante la configuración)Clona el repositorio e instala las dependencias:
git clone https://github.com/bughuntblueprint/cve-2026-2964-lab.git
cd cve-2026-2964-lab
npm install
La instalación descargará automáticamente el WebAudioRecorder.js original del repositorio de GitHub de higuma y lo colocará en la carpeta lib/.
Si prefieres ejecutar la configuración manualmente:
npm run setup
El servidor vulnerable se ejecuta en el puerto 3000 y está configurado para aceptar configuraciones controladas por el usuario que conducen a prototype pollution.
node index-vulnerable.js
Salida esperada:
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
Ahora puedes enviar solicitudes a http://localhost:3000/api/audio/config. El servidor registrará todas las cargas útiles entrantes e indicará si se produjo la contaminación.
El servidor corregido se ejecuta en el puerto 3000 y aplica tanto una sanitización recursiva de claves como una lista blanca para bloquear cualquier clave peligrosa antes de que llegue al constructor de la librería. Asegúrate de modificar el package.json y apuntar main a index-fixed.js
node index-fixed.js
Salida esperada:
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
Este laboratorio está destinado únicamente a fines educativos. No lo ejecutes en sistemas de producción ni contra ningún objetivo sin autorización explícita. Las técnicas mostradas están pensadas para ayudar a desarrolladores y profesionales de seguridad a comprender la vulnerabilidad y aplicar las defensas adecuadas.