Sequelize — это инструмент ORM Node.js. До версии 6.37.8 существовала SQL-инъекция через неэкранированный тип приведения в JSON/JSONB при обработке предложений. Функция _traverseJSON() разделяет ключи пути JSON на :: для извлечения типа приведения, который интерполируется в исходном виде в CAST(...
AS <type>) SQL. Злоумышленник, контролирующий ключи объекта JSON, может внедрить произвольный SQL-код и извлечь данные из любой таблицы. Эта уязвимость исправлена в версии 6.37.8.
Показать оригинальное описание (EN)
Sequelize is a Node.js ORM tool. Prior to 6.37.8, there is SQL injection via unescaped cast type in JSON/JSONB where clause processing. The _traverseJSON() function splits JSON path keys on :: to extract a cast type, which is interpolated raw into CAST(... AS <type>) SQL. An attacker who controls JSON object keys can inject arbitrary SQL and exfiltrate data from any table. This vulnerability is fixed in 6.37.8.
Характеристики атаки
Последствия
Строка CVSS v3.1