
CVE ID: CVE-2022-33171
製品: TypeORM
影響を受けるバージョン: < 0.3.0
脆弱性の種類: SQLインジェクション
公開日: 2022年6月28日
バージョン0.3.0より前のTypeORMのfindOne(id)およびfindOneOrFail(id)関数は、文字列またはFindOneOptionsオブジェクトのどちらかを指定できます。この関数への入力がユーザー制御のパース済みJSONオブジェクトである場合、id文字列の代わりに細工されたFindOneOptionsを指定するとSQLインジェクションが発生します。
この脆弱性は次の理由で発生します:
findOne()関数は柔軟な入力型(文字列またはFindOneOptionsオブジェクト)を受け入れるTypeORMのメンテナは、根本原因はライブラリ自体ではなく、アプリケーション側の入力検証が不十分なことであると述べています。しかし、この関数はユーザー入力を明示的に受け付けるように設計されているため、ライブラリがこれを安全に処理すべきだという主張は妥当です。
TypeORM 0.3.0以降にアップグレードしてください。このバージョンにはこの脆弱性の修正が含まれています。