
CVE-2022-33171: Vulnerabilità di iniezione SQL in TypeORM
CVE ID: CVE-2022-33171
Prodotto: TypeORM
Versioni interessate: < 0.3.0
Tipo di vulnerabilità: Iniezione SQL
Data di divulgazione: 28 giugno 2022
Le funzioni findOne(id) e findOneOrFail(id) nelle versioni di TypeORM precedenti alla 0.3.0 possono ricevere come input una stringa oppure un oggetto FindOneOptions. Quando l'input di questa funzione è un oggetto JSON analizzato e controllato dall'utente, fornire un appositamente predisposto al posto di una stringa id porta a un'iniezione SQL.
FindOneOptionsLa vulnerabilità esiste perché:
findOne() accetta tipi di input flessibili (stringa o oggetto FindOneOptions)I maintainer di TypeORM hanno dichiarato che la causa principale è una validazione dell'input insufficiente lato applicazione, non la libreria stessa. Tuttavia, questa funzione è progettata esplicitamente per accettare input dell'utente, il che rende sostenibile l'argomento secondo cui la libreria dovrebbe gestire la cosa in modo sicuro.
Aggiornare a TypeORM 0.3.0 o versioni successive, che include le correzioni per questa vulnerabilità.