
# Laboratoire pédagogique démontrant CVE-2026-2964, une vulnérabilité de pollution de prototype dans web-audio-recorder-js menant à une exécution de code à distance (RCE). Comprend des serveurs vulnérables et corrigés, des scripts d'installation et des charges utiles d'attaque pour une formation pratique en sécurité.
Ce dépôt contient un environnement de laboratoire complet pour CVE‑2026‑2964, une vulnérabilité de pollution de prototype dans la bibliothèque web‑audio‑recorder‑js qui peut conduire à une exécution de code à distance dans des conditions spécifiques.
Le laboratoire comprend :
index-vulnerable.js) qui démontre la chaîne d'attaque.index-fixed.js) qui implémente une assainissement approprié et une validation par liste blanche.Prérequis :
npm (fourni avec Node.js)curl (pour télécharger le fichier de la bibliothèque lors de la configuration)Clonez le dépôt et installez les dépendances :
git clone https://github.com/bughuntblueprint/cve-2026-2964-lab.git
cd cve-2026-2964-lab
npm install
L'installation téléchargera automatiquement le fichier WebAudioRecorder.js original depuis le dépôt GitHub higuma et le placera dans le dossier lib/.
Si vous préférez exécuter la configuration manuellement :
npm run setup
Le serveur vulnérable s'exécute sur le port 3000 et est configuré pour accepter une configuration contrôlée par l'utilisateur qui conduit à une pollution de prototype.
node index-vulnerable.js
Sortie attendue :
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
Vous pouvez maintenant envoyer des requêtes à http://localhost:3000/api/audio/config. Le serveur journalisera toutes les charges utiles entrantes et indiquera si une pollution s'est produite.
Le serveur corrigé s'exécute sur le port 3000 et applique à la fois une assainissement récursive des clés et une liste blanche pour bloquer toute clé dangereuse avant qu'elle n'atteigne le constructeur de la bibliothèque. Assurez-vous de modifier le package.json et de pointer main vers index-fixed.js
node index-fixed.js
Sortie attendue :
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
Ce laboratoire est destiné uniquement à des fins éducatives. Ne l'exécutez pas sur des systèmes de production ni contre une cible sans autorisation explicite. Les techniques présentées visent à aider les développeurs et les professionnels de la sécurité à comprendre la vulnérabilité et à appliquer les défenses appropriées.