Junglewise Threat Intelligence

CVE-2026-30951: Sequelize SQL injection in JSON where clause processing

CVE-2026-30951 · Severity: high · CVSS 7.5 · Published 2026-03-10

Technologies: Sequelize. Vendors: Red Hat, npm.

Executive brief

Sequelize is a popular tool used by Node.js applications to communicate with databases. A security flaw allows attackers to bypass database protections and run unauthorized commands by manipulating specific data search queries. This could lead to the theft of sensitive information from any table in the database, potentially exposing customer data or internal credentials.

Technical details

A SQL injection vulnerability exists in Sequelize v6's handling of JSON/JSONB columns. The internal _traverseJSON() function splits JSON path keys on a double-colon (::) delimiter to identify cast types, but fails to validate or escape the resulting string. This value is then directly interpolated into a CAST(... AS <type>) SQL statement. An attacker capable of influencing the keys of a JSON object passed to a 'where' clause can inject arbitrary SQL commands. This can be used for UNION-based data exfiltration or boolean-blind injection across all supported database dialects (SQLite, PostgreSQL, MySQL, MariaDB). The issue is resolved in version 6.37.8 by implementing a whitelist of allowed cast types.

Affected products

  • Sequelize Sequelize >= 6.0.0-beta.1, < 6.37.8
  • Red Hat Red Hat Satellite 6.18 affected
  • Red Hat Confidential Compute Attestation 1 affected

Timeline

  • 2026-03-09: advisory: GitHub Security Advisory published
  • 2026-03-10: disclosed: CVE-2026-30951 published
  • 2026-03-10: patched: Fixed in version 6.37.8
  • 2026-04-16: advisory: Red Hat issued security advisory RHSA-2026:8498

References

Related threats