Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Remote unauthenticated SQL injection via a user value reaching escape(); Oracle-dialect requirement is a deployment precondition, not attacker complexity, so AC:L with full C/I/A impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4Blast Radius
ecosystem impact- 6 npm packages depend on sequelize (3 direct, 3 indirect)
Ecosystem-wide dependent count for version 6.37.4.
DescriptionCVE.org
Sequelize is a Node.js ORM tool. Prior to 6.37.4, SQL injection is possible with strings only if dialect is set to oracle. The escape function defined in sql-string.js does not escape quotes if the value starts with TO_TIMESTAMP or TO_DATE. In the Oracle dialect, when val is a string and starts with TO_TIMESTAMP or TO_DATE, escape returns val directly instead of replacing single quotes. An attacker can inject arbitrary SQL expressions through an application value that reaches this escape path. This issue is fixed in version 6.37.4.
Articles & Coverage 1
AnalysisAI
SQL injection in the Sequelize Node.js ORM (versions prior to 6.37.4) allows remote attackers to inject arbitrary SQL through application values that reach the string-escaping routine, but only when the ORM is configured with the Oracle dialect. The escape() function in sql-string.js returns any string beginning with TO_TIMESTAMP or TO_DATE verbatim without doubling single quotes, letting a crafted value break out of the intended literal. Publicly available exploit code exists in the GitHub Security Advisory (GHSA-v8fg-2rw7-q452); there is no CISA KEV listing and no EPSS score was provided.
Technical ContextAI
Sequelize is one of the most widely used promise-based ORMs for Node.js, mapping JavaScript queries to dialect-specific SQL. The flaw is a classic CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) defect in the Oracle dialect code path. When dialect === 'oracle' and the value is a string, escape() contains a special case: if the string starts with TO_TIMESTAMP or TO_DATE (Oracle date/timestamp conversion functions), it returns the value directly and skips the val.replace(/'/g, "''") quote-doubling that normally neutralizes embedded single quotes. This whitelist-by-prefix logic was presumably intended to let callers pass raw Oracle date-conversion expressions, but because it bypasses escaping entirely, an attacker who controls a value that begins with those tokens can append arbitrary SQL. The single affected package is npm/sequelize (cpe:2.3:a:sequelize:sequelize).
RemediationAI
Vendor-released patch: 6.37.4 - upgrade the sequelize npm package to 6.37.4 or later, which restores proper single-quote escaping in the Oracle dialect path (fix commit 5deadd2410ae9136a21fb652db206d27bb715f26). Because the vulnerability is confined to the Oracle dialect, any deployment not using dialect: 'oracle' is unaffected and can upgrade at normal cadence. Where an immediate upgrade is not possible on Oracle-backed apps, the actionable compensating controls are: use parameterized queries / bind parameters (replacements or bind arrays) instead of passing user input as raw values into where clauses so tainted strings never reach the vulnerable escape path; and add input validation to reject or neutralize application values that begin with TO_TIMESTAMP or TO_DATE before they are handed to Sequelize - the trade-off being that legitimate date-conversion expressions passed as literals would also be blocked. Advisory and patch references: https://github.com/sequelize/sequelize/security/advisories/GHSA-v8fg-2rw7-q452 and https://github.com/sequelize/sequelize/commit/5deadd2410ae9136a21fb652db206d27bb715f26.
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
Directory traversal vulnerability in lib/app/index.js in Geddy before 13.0.8 for Node.js allows remote attackers to read
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Eval injection vulnerability in index.js in the syntax-error package before 1.1.1 for Node.js 0.10.x, as used in IBM Rat
Same weakness CWE-89 – SQL Injection
View allVendor StatusVendor
SUSE
Severity: CriticalShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-52429
GHSA-v8fg-2rw7-q452