
This is a proof-of-concept demonstrating CVE-2020-8158, a critical prototype pollution vulnerability in TypeORM versions < 0.2.25.
Dies ist ein Proof-of-Concept, der CVE-2020-8158 demonstriert, eine kritische Prototype-Pollution-Schwachstelle in TypeORM-Versionen < 0.2.25.
Angreifer können:
Die Schwachstelle liegt in der Handhabung der Objekt-Deserialisierung durch TypeORM bei der Verarbeitung von Datenbankabfrageergebnissen. Die Bibliothek führt eine unsachgemäße Zusammenführung von benutzergesteuerten Daten in Objekte durch, ohne die Schlüssel zu bereinigen, die den Prototyp verschmutzen, wie __proto__, constructor und prototype.
Das Problem liegt im Entity-Hydrierungs-/Deserialisierungsprozess, bei dem TypeORM Eigenschaften aus rohen Abfrageergebnissen rekursiv auf Entity-Objekte zuweist, ohne ordnungsgemäße Validierung.
vulnerable-app.ts - Anfällige TypeORM-Anwendung (Version < 0.2.25)exploit.ts - Proof-of-Concept-Exploitpatched-app.ts - Gepatchte Version (Version >= 0.2.25)package.json - AbhängigkeitenSiehe SETUP.md für detaillierte Setup- und Exploit-Anweisungen.