CVE-2019-10748 SQL Injection in sequelize
Attackers can execute arbitrary SQL commands via unescaped JSON path keys in MySQL/MariaDB dialects, compromising database integrity and confidentiality.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2019-10748?
CVE-2019-10748 is a critical SQL injection vulnerability in Sequelize, published on 28 Oct 2019. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Sequelize all versions prior to 3.35.1, 4.44.3, and 5.8.11 are vulnerable to SQL Injection due to JSON path keys not being properly escaped for the MySQL/MariaDB dialects.
Weakness: CWE-89
Which versions are affected by CVE-2019-10748?
6 open source packages ship an affected version, including sequelize. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
sequelize npm | All versions | 3.35.1 |
sequelize npm | All versions | 3.35.1 |
sequelize npm | From 4.0.0 | 4.44.3 |
sequelize npm | From 4.0.0 | 4.44.3 |
sequelize npm | From 5.0.0 | 5.8.11 |
sequelize npm | From 5.0.0 | 5.8.11 |
Products include Sequelizejs Sequelize.
How do I fix CVE-2019-10748?
Upgrade sequelize to a fixed version for your release line: 3.35.1, 4.44.3 or 5.8.11.
Use parameterised queries everywhere and never build SQL by joining strings. Upgrade affected software first; a web application firewall only buys time. More about SQL injection.
Is CVE-2019-10748 being exploited?
There is no known exploitation of CVE-2019-10748 in the wild and no public exploit code.
Other vulnerabilities in Sequelize
Sources
Also known as GHSA-j9xp-92vc-559j, SNYK-JS-SEQUELIZE-450221.