Denial of Service Vulnerability in Node.js qs Module - CVE-2014-7191

node-qs Updated 02 Oct 2025

Summary

19/10/2014
N/A
Yes i
Unrated
Not published

DEBIAN-CVE-2014-7191: The qs module before 1.0.0 in Node.js does not call the compact function for array data, which allows remote attackers to cause a denial of service (memory consumption) by using a large index value to create a sparse arr... Affects node-qs versions < 2.2.4-1. Fixed in 2.2.4-1. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The 'qs' module is a popular library used in Node.js for parsing and stringifying query strings. It is widely utilized in web applications to handle URL query parameters efficiently. The module's functionality includes support for nested objects and arrays, making it versatile for various data structures. However, prior to version 1.0.0, the qs module contained a vulnerability that could lead to significant memory consumption under certain conditions.

Vulnerability Detail

The vulnerability identified as CVE-2014-7191 arises from the qs module's failure to call the compact function for array data. This oversight allows remote attackers to exploit the module by sending a large index value, which creates a sparse array. Consequently, this can lead to denial of service (DoS) due to excessive memory consumption, potentially crashing the application or server utilizing the affected version of the module.

How To Fix

Minimum fixed version

2.2.4-1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade node-qs

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a temporary workaround, you can implement input validation to restrict the size of index values being processed by the qs module. This can help mitigate the risk of memory consumption until the package is updated. For example, you can check the index values before processing them in your application logic.

Conclusion

CVE-2014-7191 is a significant vulnerability in the qs module of Node.js that can lead to denial of service through memory consumption. It is crucial for developers to update to the patched version 2.2.4-1 or later to mitigate this risk. Implementing input validation can serve as a temporary measure until the update is applied.

See every vulnerability recorded for node-qs →

Share this vulnerability

FAQ

CVE-2014-7191 is a vulnerability in the qs module of Node.js that can lead to denial of service due to excessive memory consumption.

You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.

Versions of the qs module prior to 1.0.0 are vulnerable to CVE-2014-7191.

If an immediate update is not possible, implement input validation to restrict the size of index values processed by the qs module as a temporary workaround.

Related vulnerabilities

Recent vulnerabilities recorded for node-qs.

How To Fix

Minimum fixed version

2.2.4-1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade node-qs

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback