// For flags

CVE-2022-24999

express: "qs" prototype poisoning causes the hang of the node process

Severity Score

7.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

1
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Attend
*SSVC
Descriptions

qs before 6.10.3, as used in Express before 4.17.3 and other products, allows attackers to cause a Node process hang for an Express application because an __ proto__ key can be used. In many typical Express use cases, an unauthenticated remote attacker can place the attack payload in the query string of the URL that is used to visit the application, such as a[__proto__]=b&a[__proto__]&a[length]=100000000. The fix was backported to qs 6.9.7, 6.8.3, 6.7.3, 6.6.1, 6.5.3, 6.4.1, 6.3.3, and 6.2.4 (and therefore Express 4.17.3, which has "deps: qs@6.9.7" in its release description, is not vulnerable).

qs anterior a 6.10.3, como se usa en Express anterior a 4.17.3 y otros productos, permite a los atacantes provocar que un proceso de Nodo se cuelgue para una aplicación Express porque se puede usar una clave __ proto__. En muchos casos de uso típicos de Express, un atacante remoto no autenticado puede colocar el payload del ataque en la cadena de consulta de la URL que se utiliza para visitar la aplicación, como a[__proto__]=b&a[__proto__]&a[length] =100000000. La solución se respaldó a qs 6.9.7, 6.8.3, 6.7.3, 6.6.1, 6.5.3, 6.4.1, 6.3.3 y 6.2.4 (y por lo tanto a Express 4.17.3, que tiene "deps : qs@6.9.7" en la descripción de su versión, no es vulnerable).

A flaw was found in the express.js npm package of nodejs:14 module stream. Express.js Express is vulnerable to a denial of service caused by a prototype pollution flaw in qs. By adding or modifying properties of Object.prototype using a __proto__ or constructor payload, a remote attacker can cause a denial of service.

Juraj Somorovsky, Marcel Maehren, Nurullah Erinola, and Robert Merget discovered that the DTLS implementation in the JSSE subsystem of OpenJDK did not properly restrict handshake initiation requests from clients. A remote attacker could possibly use this to cause a denial of service. Markus Loewe discovered that the Java Sound subsystem in OpenJDK did not properly validate the origin of a Soundbank. An attacker could use this to specially craft an untrusted Java application or applet that could load a Soundbank from an attacker controlled remote URL.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
None
Integrity
None
Availability
Complete
* Common Vulnerability Scoring System
SSVC
  • Decision:Attend
Exploitation
Poc
Automatable
Yes
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2022-02-14 CVE Reserved
  • 2022-11-26 CVE Published
  • 2025-04-29 CVE Updated
  • 2025-04-29 First Exploit
  • 2025-05-21 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-1321: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Qs Project
Search vendor "Qs Project"
Qs
Search vendor "Qs Project" for product "Qs"
< 6.2.4
Search vendor "Qs Project" for product "Qs" and version " < 6.2.4"
node.js
Affected
Qs Project
Search vendor "Qs Project"
Qs
Search vendor "Qs Project" for product "Qs"
>= 6.3.0 < 6.3.3
Search vendor "Qs Project" for product "Qs" and version " >= 6.3.0 < 6.3.3"
node.js
Affected
Qs Project
Search vendor "Qs Project"
Qs
Search vendor "Qs Project" for product "Qs"
>= 6.5.0 < 6.5.3
Search vendor "Qs Project" for product "Qs" and version " >= 6.5.0 < 6.5.3"
node.js
Affected
Qs Project
Search vendor "Qs Project"
Qs
Search vendor "Qs Project" for product "Qs"
>= 6.7.0 < 6.7.3
Search vendor "Qs Project" for product "Qs" and version " >= 6.7.0 < 6.7.3"
node.js
Affected
Qs Project
Search vendor "Qs Project"
Qs
Search vendor "Qs Project" for product "Qs"
>= 6.8.0 < 6.8.3
Search vendor "Qs Project" for product "Qs" and version " >= 6.8.0 < 6.8.3"
node.js
Affected
Qs Project
Search vendor "Qs Project"
Qs
Search vendor "Qs Project" for product "Qs"
>= 6.9.0 < 6.9.7
Search vendor "Qs Project" for product "Qs" and version " >= 6.9.0 < 6.9.7"
node.js
Affected
Qs Project
Search vendor "Qs Project"
Qs
Search vendor "Qs Project" for product "Qs"
>= 6.10.0 < 6.10.3
Search vendor "Qs Project" for product "Qs" and version " >= 6.10.0 < 6.10.3"
node.js
Affected
Qs Project
Search vendor "Qs Project"
Qs
Search vendor "Qs Project" for product "Qs"
6.4.0
Search vendor "Qs Project" for product "Qs" and version "6.4.0"
node.js
Affected
Qs Project
Search vendor "Qs Project"
Qs
Search vendor "Qs Project" for product "Qs"
6.6.0
Search vendor "Qs Project" for product "Qs" and version "6.6.0"
node.js
Affected
Openjsf
Search vendor "Openjsf"
Express
Search vendor "Openjsf" for product "Express"
< 4.17.3
Search vendor "Openjsf" for product "Express" and version " < 4.17.3"
node.js
Affected
Debian
Search vendor "Debian"
Debian Linux
Search vendor "Debian" for product "Debian Linux"
10.0
Search vendor "Debian" for product "Debian Linux" and version "10.0"
-
Affected