
Questo è un proof-of-concept che dimostra CVE-2020-8158, una vulnerabilità critica di prototype pollution in TypeORM versioni < 0.2.25.
Questa è una proof-of-concept che dimostra CVE-2020-8158, una critica vulnerabilità di prototype pollution nelle versioni di TypeORM precedenti alla 0.2.25.
Gli attaccanti possono:
La vulnerabilità risiede nella gestione da parte di TypeORM della deserializzazione degli oggetti durante l'elaborazione dei risultati delle query al database. La libreria unisce in modo improprio dati controllati dall'utente negli oggetti senza sanificare chiavi che inquinano il prototipo come __proto__, constructor e prototype.
Il problema si trova nel processo di idratazione/deserializzazione delle entità, dove TypeORM assegna ricorsivamente proprietà dai risultati grezzi delle query agli oggetti entità senza una validazione adeguata.
vulnerable-app.ts - Applicazione TypeORM vulnerabile (versione < 0.2.25)exploit.ts - Exploit proof-of-conceptpatched-app.ts - Versione corretta (versione >= 0.2.25)package.json - DipendenzeVedere SETUP.md per istruzioni dettagliate sulla configurazione e sullo sfruttamento.