CVE-2016-10556 Detail
Modified
This vulnerability has been modified since it was last analyzed by the NVD. It is awaiting reanalysis which may result in further changes to the information provided.
Current Description
sequelize is an Object-relational mapping, or a middleman to convert things from Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server into usable data for NodeJS In Postgres, SQLite, and Microsoft SQL Server there is an issue where arrays are treated as strings and improperly escaped. This causes potential SQL injection in sequelize 3.19.3 and earlier, where a malicious user could put `["test", "'); DELETE TestTable WHERE Id = 1 --')"]` inside of ``` database.query('SELECT * FROM TestTable WHERE Name IN (:names)', { replacements: { names: directCopyOfUserInput } }); ``` and cause the SQL statement to become `SELECT Id FROM Table WHERE Name IN ('test', '\'); DELETE TestTable WHERE Id = 1 --')`. In Postgres, MSSQL, and SQLite, the backslash has no special meaning. This causes the the statement to delete whichever Id has a value of 1 in the TestTable table.
Source:
MITRE
View Analysis Description
Analysis Description
sequelize is an Object-relational mapping, or a middleman to convert things from Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server into usable data for NodeJS In Postgres, SQLite, and Microsoft SQL Server there is an issue where arrays are treated as strings and improperly escaped. This causes potential SQL injection in sequelize 3.19.3 and earlier, where a malicious user could put `["test", "'); DELETE TestTable WHERE Id = 1 --')"]` inside of ``` database.query('SELECT * FROM TestTable WHERE Name IN (:names)', { replacements: { names: directCopyOfUserInput } }); ``` and cause the SQL statement to become `SELECT Id FROM Table WHERE Name IN ('test', '\'); DELETE TestTable WHERE Id = 1 --')`. In Postgres, MSSQL, and SQLite, the backslash has no special meaning. This causes the the statement to delete whichever Id has a value of 1 in the TestTable table.
Source:
MITRE
Severity
CVSS 3.x Severity and Metrics:
Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.0 Severity and Metrics:
Vector: (AV:N/AC:L/Au:N/C:N/I:N/A:P)
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving NIST webspace. We have provided these links to other web sites because
they may have information that would be of interest to you. No inferences should be drawn on account of other sites
being referenced, or not, from this page. There may be other web sites that are more appropriate for your purpose.
NIST does not necessarily endorse the views expressed, or concur with the facts presented on these sites. Further,
NIST does not endorse any commercial products that may be mentioned on these sites. Please address comments about
this page to nvd@nist.gov.
Weakness Enumeration
CWE-ID |
CWE Name |
Source |
CWE-89 |
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') |
NIST
HackerOne
|
Change History
3 change records found
- show changes
CVE Modified by MITRE -
10/9/2019 7:16:46 PM
Action |
Type |
Old Value |
New Value |
Added |
CWE |
|
HackerOne CWE-89 |
Initial Analysis -
7/9/2018 9:23:51 AM
Action |
Type |
Old Value |
New Value |
Added |
CPE Configuration |
|
OR
*cpe:2.3:a:sequelizejs:sequelize:*:*:*:*:*:node.js:*:* versions up to (including) 3.19.3 |
Added |
CVSS V2 |
|
(AV:N/AC:L/Au:N/C:N/I:N/A:P) |
Added |
CVSS V3 |
|
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Added |
CWE |
|
CWE-89 |
Changed |
Reference Type |
https://github.com/sequelize/sequelize/issues/5671 No Types Assigned |
https://github.com/sequelize/sequelize/issues/5671 Exploit, Issue Tracking, Third Party Advisory |
Changed |
Reference Type |
https://nodesecurity.io/advisories/102 No Types Assigned |
https://nodesecurity.io/advisories/102 Third Party Advisory |
CVE Modified by MITRE -
5/30/2018 9:29:00 PM
Action |
Type |
Old Value |
New Value |
Changed |
Description |
Record truncated, showing 500 of 871 characters.
View Entire Change Record
sequalize is an Object-relational mapping, or a middleman to convert things from Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server into usable data for NodeJS In Postgres, SQLite, and Microsoft SQL Server there is an issue where arrays are treated as strings and improperly escaped. This causes potential SQL injection in sequelize 3.19.3 and earlier, where a malicious user could put `["test", "'); DELETE TestTable WHERE Id = 1 --')"]` inside of ``` database.query('SELECT * FROM TestTable |
Record truncated, showing 500 of 871 characters.
View Entire Change Record
sequelize is an Object-relational mapping, or a middleman to convert things from Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server into usable data for NodeJS In Postgres, SQLite, and Microsoft SQL Server there is an issue where arrays are treated as strings and improperly escaped. This causes potential SQL injection in sequelize 3.19.3 and earlier, where a malicious user could put `["test", "'); DELETE TestTable WHERE Id = 1 --')"]` inside of ``` database.query('SELECT * FROM TestTable |
Quick Info
CVE Dictionary Entry:
CVE-2016-10556
NVD Published Date:
05/29/2018
NVD Last Modified:
10/09/2019
|