{"id":"CVE-2014-7191","aliases":["CLSA-2026-1775694706","CLSA-2026-1791373797","CLSA-2026-1793015893","DEBIAN-CVE-2014-7191","EUVD-2017-0262","GHSA-jjv7-qpx3-h62q","RHSA-2016:1380","UBUNTU-CVE-2014-7191"],"status":"published","title":"Denial-of-Service Memory Exhaustion in qs","description":"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 array.","severity":{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.08309,"percentile":0.9497,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-399","CWE-400"],"published":"2014-10-19T01:00:00Z","modified":"2026-10-26T13:30:02Z","fixes":[{"ecosystem":"npm","package":"qs","fixed_in":["1.0.0"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"node-qs","fixed_in":["2.2.4-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"node-qs","fixed_in":["2.2.4-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"node-qs","fixed_in":["2.2.4-1"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_software_collections:2::el6","package":"nodejs010-node-gyp","fixed_in":["0:3.2.0-3.el6"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_software_collections:2::el6","package":"nodejs010-nodejs-qs","fixed_in":["0:0.6.5-5.el6"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_software_collections:2::el7","package":"nodejs010-node-gyp","fixed_in":["0:3.2.0-3.el7"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_software_collections:2::el7","package":"nodejs010-nodejs-qs","fixed_in":["0:0.6.5-5.el7"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:14.04:LTS","package":"node-qs","fixed_in":["0.6.5-1ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.0"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.5.1-tuxcare.0"},{"fixed":"0.5.1-tuxcare.1"}]}],"versions":["0.5.1"],"bundled":4},{"source":"osv","ecosystem":"TuxCare:npm","package":"qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.6.5-tuxcare.0"},{"fixed":"0.6.5-tuxcare.1"}]}],"versions":["0.6.5"],"bundled":5},{"source":"osv","ecosystem":"TuxCare:npm","package":"qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.4.2-tuxcare.0"},{"fixed":"0.4.2-tuxcare.1"}]}],"versions":["0.4.2"],"bundled":5},{"source":"osv","ecosystem":"Debian:12","package":"node-qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.4-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"node-qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.4-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"node-qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.4-1"}]}]},{"source":"osv","ecosystem":"npm","package":"qs","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.0.0"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_software_collections:2::el6","package":"nodejs010-node-gyp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.2.0-3.el6"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_software_collections:2::el6","package":"nodejs010-nodejs-qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.6.5-5.el6"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_software_collections:2::el7","package":"nodejs010-node-gyp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:3.2.0-3.el7"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_software_collections:2::el7","package":"nodejs010-nodejs-qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:0.6.5-5.el7"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"node-qs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.6.5-1ubuntu0.1~esm1"}]}],"versions":["0.4.2-1","0.6.5-1"]}],"products":[{"vendor":"nodejs","product":"node.js"}],"references":[{"url":"http://secunia.com/advisories/60026","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred","advisory","web"]},{"url":"http://secunia.com/advisories/62170","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred","advisory","web"]},{"url":"https://github.com/visionmedia/node-querystring/issues/104","tags":["x_refsource_CONFIRM","x_transferred","report","web"]},{"url":"https://github.com/raymondfeng/node-querystring/commit/43a604b7847e56bba49d0ce3e222fe89569354d8","tags":["x_refsource_CONFIRM","x_transferred","Patch","fix","web","report"]},{"url":"https://access.redhat.com/errata/RHSA-2016:1380","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","advisory","web"]},{"url":"https://nodesecurity.io/advisories/qs_dos_memory_exhaustion","tags":["x_refsource_CONFIRM","x_transferred","advisory","report"]},{"url":"http://www-01.ibm.com/support/docview.wss?uid=swg21687928","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"https://exchange.xforce.ibmcloud.com/vulnerabilities/96729","tags":["vdb-entry","x_refsource_XF","x_transferred","web"]},{"url":"http://www-01.ibm.com/support/docview.wss?uid=swg21685987","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"http://www-01.ibm.com/support/docview.wss?uid=swg21687263","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2014-7191","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-jjv7-qpx3-h62q","tags":["advisory"]},{"url":"https://www.npmjs.com/advisories/29","tags":["web"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2014-7191","tags":["advisory"]},{"url":"https://github.com/visionmedia/node-querystring","tags":["package"]},{"url":"https://access.redhat.com/security/updates/classification/#moderate","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1146054","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1255594","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2016/rhsa-2016_1380.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2014-7191","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2014-7191","tags":["advisory","report"]},{"url":"https://ubuntu.com/security/CVE-2014-7191","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2014-7191","description":"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 array.","status":"published","published":"2014-10-19T01:00:00Z","modified":"2024-08-06T12:40:19.191Z","updated_at":"2026-11-02T14:33:46.955592Z"}],"euvd":[{"id":"EUVD-2017-0262","description":"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 array.","status":"published","published":"2014-10-19T01:00:00Z","modified":"2024-08-06T12:40:19Z","updated_at":"2026-11-03T01:56:55.992719Z"}],"ghsa":[{"id":"GHSA-jjv7-qpx3-h62q","title":"Denial-of-Service Memory Exhaustion in qs","description":"Versions prior to 1.0 of `qs` are affected by a denial of service condition. This condition is triggered by parsing a crafted string that deserializes into very large sparse arrays, resulting in the process running out of memory and eventually crashing.\n\n\n## Recommendation\n\nUpdate to version 1.0.0 or later.","status":"published","published":"2017-10-24T18:33:36Z","modified":"2023-04-11T00:27:35Z","cwes":["CWE-400"],"updated_at":"2026-11-02T14:36:50.476488Z"}],"nvd":[{"id":"CVE-2014-7191","description":"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 array.","status":"published","published":"2014-10-19T01:55:21.56Z","modified":"2026-06-17T00:14:32.267Z","cvss":[{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:N/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-399"],"updated_at":"2026-11-02T14:02:56.601372Z"}],"osv":[{"id":"CLSA-2026-1775694706","title":"TuxCare security update for qs (4 CVEs)","description":"TuxCare rebuilt qs to address 4 CVEs. Fixed in 0.5.1-tuxcare.1.","status":"published","published":"2026-08-04T14:52:23Z","modified":"2026-10-22T14:31:00.423552886Z","updated_at":"2026-11-02T15:43:44.009773Z"},{"id":"CLSA-2026-1791373797","title":"TuxCare security update for qs (5 CVEs)","description":"TuxCare rebuilt qs to address 5 CVEs. Fixed in 0.6.5-tuxcare.1.","status":"published","published":"2026-10-07T11:49:57Z","modified":"2026-10-15T09:47:39.392238291Z","updated_at":"2026-11-02T15:43:49.016976Z"},{"id":"CLSA-2026-1793015893","title":"TuxCare security update for qs (5 CVEs)","description":"TuxCare rebuilt qs to address 5 CVEs. Fixed in 0.4.2-tuxcare.1.","status":"published","published":"2026-10-26T11:58:13Z","modified":"2026-10-26T13:30:02.537397809Z","updated_at":"2026-11-02T15:43:54.981307Z"},{"id":"CVE-2014-7191","description":"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 array.","status":"published","published":"2014-10-19T01:55:21Z","modified":"2026-04-10T03:44:01.105238Z","updated_at":"2026-11-02T15:43:59.654289Z"},{"id":"DEBIAN-CVE-2014-7191","description":"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 array.","status":"published","published":"2014-10-19T01:55:21.56Z","modified":"2026-10-23T15:47:25.671342722Z","updated_at":"2026-11-02T15:45:26.134753Z"},{"id":"GHSA-jjv7-qpx3-h62q","title":"Denial-of-Service Memory Exhaustion in qs","description":"Versions prior to 1.0 of `qs` are affected by a denial of service condition. This condition is triggered by parsing a crafted string that deserializes into very large sparse arrays, resulting in the process running out of memory and eventually crashing.\n\n\n## Recommendation\n\nUpdate to version 1.0.0 or later.","status":"published","published":"2017-10-24T18:33:36Z","modified":"2023-11-08T03:57:44.492821Z","cwes":["CWE-400"],"updated_at":"2026-11-02T15:46:50.687609Z"},{"id":"RHSA-2016:1380","title":"Red Hat Security Advisory: nodejs010-node-gyp and nodejs010-nodejs-qs security and bug fix update","status":"published","published":"2024-09-13T09:23:56Z","modified":"2026-06-29T10:12:50Z","updated_at":"2026-11-02T15:53:03.734507Z"},{"id":"UBUNTU-CVE-2014-7191","description":"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 array.","status":"published","published":"2014-10-19T01:55:00Z","modified":"2025-07-18T16:43:05Z","updated_at":"2026-11-02T15:54:09.378953Z"}]}}
