CVE-2022-24999 Detail

Current Description

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: [email protected]” in its release description, is not vulnerable).

View Analysis Description

Analysis Description

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: [email protected]” in its release description, is not vulnerable).

Severity

CVSS 3.x Severity and Metrics:

CVSS 2.0 Severity and Metrics:

References to Advisories, Solutions, and Tools

By selecting these links, you will be leaving NIST webspace. We have provided these links to other web sites because they may have information that would be of interest to you. No inferences should be drawn on account of other sites being referenced, or not, from this page. There may be other web sites that are more appropriate for your purpose. NIST does not necessarily endorse the views expressed, or concur with the facts presented on these sites. Further, NIST does not endorse any commercial products that may be mentioned on these sites. Please address comments about this page to [email protected].

Weakness Enumeration

CWE-ID CWE Name Source
CWE-1321 Improperly Controlled Modification of Object Prototype Attributes (‘Prototype Pollution’) NIST  

Change History

1 change records found show changes

Initial Analysis by NIST 11/28/2022 2:25:38 PM

Action Type Old Value New Value
Added CPE Configuration
OR
     *cpe:2.3:a:openjsf:express:*:*:*:*:*:node.js:*:* versions up to (excluding) 4.17.3
Added CPE Configuration Record truncated, showing 500 of 849 characters.
View Entire Change Record

OR
     *cpe:2.3:a:qs_project:qs:*:*:*:*:*:node.js:*:* versions up to (excluding) 6.2.4
     *cpe:2.3:a:qs_project:qs:*:*:*:*:*:node.js:*:* versions from (including) 6.3.0 up to (excluding) 6.3.3
     *cpe:2.3:a:qs_project:qs:6.4.0:*:*:*:*:node.js:*:*
     *cpe:2.3:a:qs_project:qs:*:*:*:*:*:node.js:*:* versions from (including) 6.5.0 up to (excluding) 6.5.3
     *cpe:2.3:a:qs_project:qs:6.6.0:*:*:*:*:node.js:*:*
     *cpe:2.3:a:qs_project:qs:*:*:*:*:*:node.js:*:* versions from (including) 6.7.0 
Added CVSS V3.1
NIST AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Added CWE
NIST CWE-1321
Changed Reference Type
https://github.com/expressjs/express/releases/tag/4.17.3 No Types Assigned
https://github.com/expressjs/express/releases/tag/4.17.3 Release Notes, Third Party Advisory
Changed Reference Type
https://github.com/ljharb/qs/pull/428 No Types Assigned
https://github.com/ljharb/qs/pull/428 Issue Tracking, Patch, Third Party Advisory
Changed Reference Type
https://github.com/n8tz/CVE-2022-24999 No Types Assigned
https://github.com/n8tz/CVE-2022-24999 Exploit, Third Party Advisory

Quick Info

CVE Dictionary Entry:
CVE-2022-24999
NVD Published Date:
11/26/2022
NVD Last Modified:
11/28/2022
Source:
MITRE