
CVE-2022-33171: Уязвимость SQL-инъекции в TypeORM
CVE ID: CVE-2022-33171
Продукт: TypeORM
Затронутые версии: < 0.3.0
Тип уязвимости: SQL-инъекция
Дата раскрытия: 28 июня 2022 года
Функции findOne(id) и findOneOrFail(id) в TypeORM до версии 0.3.0 могут принимать либо строку, либо объект FindOneOptions. Когда на вход этой функции подается контролируемый пользователем разобранный JSON-объект, передача специально сформированного вместо строки id приводит к SQL-инъекции.
FindOneOptionsУязвимость существует по следующим причинам:
findOne() принимает гибкие типы входных данных (строку или объект FindOneOptions)FindOneOptionsМейнтейнеры TypeORM заявили, что корневая причина — недостаточная валидация входных данных на стороне приложения, а не самой библиотеки. Однако эта функция явно предназначена для приема пользовательского ввода, что делает аргумент о том, что библиотека должна обрабатывать это безопасно, обоснованным.
Обновитесь до TypeORM 0.3.0 или новее, где содержится исправление этой уязвимости.