SQL Injection in sequelize
Published 25 Oct 2019 · Updated 13 Nov 2024
Affected packages
- Affected
- <4.44.3
- Fixed in
- 4.44.3
npm install sequelize@4.44.3- Affected
- >=5.0.0 <5.15.1
- Fixed in
- 5.15.1
npm install sequelize@5.15.1Details
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)
});Recommendation
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.
Is GHSA-m9jw-237r-gvfv in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected sequelize, and gives you the command that fixes it.
References
- Advisorynvd.nist.gov/vuln/detail/CVE-2019-10752
- Linkgithub.com/sequelize/sequelize/pull/11329
- Linkgithub.com/sequelize/sequelize/commit/9bd0bc1,
- Linkgithub.com/sequelize/sequelize/commit/9bd0bc111b6f502223edf7e902680f7cc2ed541e
- Linksnyk.io/vuln/SNYK-JS-SEQUELIZE-459751
- Linksnyk.io/vuln/SNYK-JS-SEQUELIZE-459751,
- Linkwww.npmjs.com/advisories/1146
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.