
# Laboratorio didattico che dimostra CVE-2026-2964, una vulnerabilità di prototype pollution in web-audio-recorder-js che porta a RCE. Include server vulnerabili e corretti, script di configurazione e payload di attacco per una formazione pratica sulla sicurezza.
Questo repository contiene un ambiente di laboratorio completo per CVE‑2026‑2964, una vulnerabilità di prototype pollution nella libreria web‑audio‑recorder‑js che può portare all'esecuzione remota di codice in condizioni specifiche.
Il laboratorio include:
index-vulnerable.js) che dimostra la catena di attacco.index-fixed.js) che implementa una corretta sanitizzazione e una validazione tramite allowlist.Prerequisiti:
npm (incluso con Node.js)curl (per scaricare il file della libreria durante la configurazione)Clona il repository e installa le dipendenze:
git clone https://github.com/bughuntblueprint/cve-2026-2964-lab.git
cd cve-2026-2964-lab
npm install
L'installazione scaricherà automaticamente il file originale WebAudioRecorder.js dal repository GitHub di higuma e lo collocherà nella cartella lib/.
Se preferisci eseguire la configurazione manualmente:
npm run setup
Il server vulnerabile gira sulla porta 3000 ed è configurato per accettare configurazioni controllate dall'utente che portano alla prototype pollution.
node index-vulnerable.js
Output previsto:
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
Ora puoi inviare richieste a http://localhost:3000/api/audio/config. Il server registrerà tutti i payload in arrivo e indicherà se si è verificata la pollution.
Il server corretto gira sulla porta 3000 e applica sia una sanitizzazione ricorsiva delle chiavi sia un'allowlist per bloccare qualsiasi chiave pericolosa prima che raggiunga il costruttore della libreria. Assicurati di modificare il package.json e di impostare main su index-fixed.js
node index-fixed.js
Output previsto:
Original WebAudioRecorder loaded successfully.
Server is running on http://localhost:3000
Questo laboratorio è destinato esclusivamente a scopi educativi. Non eseguirlo su sistemi di produzione né contro alcun target senza un'autorizzazione esplicita. Le tecniche mostrate hanno lo scopo di aiutare sviluppatori e professionisti della sicurezza a comprendere la vulnerabilità e ad applicare le difese appropriate.