GitHub Advisoryadvisory · npm

GHSA-fw4p-36j9-rrj3 Denial of Service in sequelize

MEDIUM Published 2020-09-03 Modified 2020-08-31 Official page ↗
Ecosystem
npm
Packages
sequelize
Severity
Moderate
Weaknesses
CWE-248
Reviewed
2020-08-31

Affected packages

• npm sequelize: < 4.44.4 → fixed in 4.44.4

Description

Versions of `sequelize` prior to 4.44.4 are vulnerable to Denial of Service (DoS). The SQLite dialect fails to catch a `TypeError` exception for the `results` variable. The `results` value may be undefined and trigger the error on a `.map` call. This may allow attackers to submit malicious input that forces the exception and crashes the Node process. The following proof-of-concept crashes the Node process: ``` const Sequelize = require('sequelize'); const sequelize = new Sequelize({ dialect: 'sqlite', storage: 'database.sqlite' }); const TypeError = sequelize.define('TypeError', { name: Sequelize.STRING, }); TypeError.sync({force: true}).then(() => { return TypeError.create({name: "SELECT tbl_name FROM sqlite_master"}); }); ``` Recommendation Upgrade to version 4.44.4 or later.

Related

Weakness · CWE (1)

  • CWE-248 Uncaught Exception weakness

References