Skip to content

SQL Injection in sequelize

Critical severity GitHub Reviewed Published Oct 25, 2019 to the GitHub Advisory Database • Updated Sep 11, 2023

Package

npm sequelize (npm)

Affected versions

< 4.44.3
>= 5.0.0, < 5.15.1

Patched versions

4.44.3
5.15.1

Description

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.

References

Reviewed Oct 22, 2019
Published to the GitHub Advisory Database Oct 25, 2019
Last updated Sep 11, 2023

Severity

Critical
9.8
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Weaknesses

CVE ID

CVE-2019-10752

GHSA ID

GHSA-m9jw-237r-gvfv

Source code

No known source code
Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.