Affected versions of sequelize
are vulnerable to SQL Injection. The function sequelize.json()
incorrectly formatted sub paths for JSON queries, which allows attackers to inject SQL statements and execute arbitrary SQL queries if user input is passed to the query. Exploitation example:
return User.findAll({
where: this.sequelize.json("data.id')) AS DECIMAL) = 1 DELETE YOLO INJECTIONS; -- ", 1)
});
If you are using sequelize
5.x, upgrade to version 5.15.1 or later.
If you are using sequelize
4.x, upgrade to version 4.44.3 or later.
github.com/sequelize/sequelize/commit/9bd0bc1,
github.com/sequelize/sequelize/commit/9bd0bc111b6f502223edf7e902680f7cc2ed541e
github.com/sequelize/sequelize/pull/11329
nvd.nist.gov/vuln/detail/CVE-2019-10752
snyk.io/vuln/SNYK-JS-SEQUELIZE-459751
snyk.io/vuln/SNYK-JS-SEQUELIZE-459751,
www.npmjs.com/advisories/1146