
CVE-2022-33171: TypeORM SQL-Injection-Schwachstelle
CVE-ID: CVE-2022-33171
Produkt: TypeORM
Betroffene Versionen: < 0.3.0
Schwachstellentyp: SQL-Injection
Offenlegungsdatum: 28. Juni 2022
Die Funktionen findOne(id) und findOneOrFail(id) in TypeORM vor Version 0.3.0 können entweder mit einem String oder einem FindOneOptions-Objekt versorgt werden. Wenn die Eingabe an diese Funktion ein vom Benutzer kontrolliertes, geparstes JSON-Objekt ist, führt die Bereitstellung eines manipulierten FindOneOptions-Objekts anstelle eines ID-Strings zu SQL-Injection.
Die Schwachstelle besteht, weil:
findOne() akzeptiert flexible Eingabetypen (String oder FindOneOptions-Objekt)Die TypeORM-Maintainer erklärten, dass die Grundursache eine unzureichende Eingabevalidierung auf Anwendungsseite sei, nicht die Bibliothek selbst. Allerdings ist diese Funktion ausdrücklich dafür ausgelegt, Benutzereingaben zu akzeptieren, wodurch das Argument vertretbar ist, dass die Bibliothek dies sicher handhaben sollte.
Aktualisieren Sie auf TypeORM 0.3.0 oder höher, das Korrekturen für diese Schwachstelle enthält.