DimaMend / NodeGoat

Apache License 2.0
0 stars 11 forks source link

express-4.16.4.tgz: 6 vulnerabilities (highest severity is: 7.5) reachable #10

Open mend-for-github-com[bot] opened 10 months ago

mend-for-github-com[bot] commented 10 months ago
Vulnerable Library - express-4.16.4.tgz

Fast, unopinionated, minimalist web framework

Library home page: https://registry.npmjs.org/express/-/express-4.16.4.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/express/package.json

Found in HEAD commit: 0f560909b2ffd6ef4ef6430245d20517f6f55a06

Vulnerabilities

CVE Severity CVSS Exploit Maturity EPSS Dependency Type Fixed in (express version) Remediation Possible** Reachability
CVE-2022-24999 High 7.5 Not Defined 1.9% qs-6.5.2.tgz Transitive 4.17.0

Reachable

CVE-2024-45296 High 7.5 Not Defined 0.0% path-to-regexp-0.1.7.tgz Transitive N/A*
CVE-2024-29041 Medium 6.1 Not Defined 0.0% express-4.16.4.tgz Direct 4.19.0
CVE-2024-43800 Medium 5.0 Not Defined 0.1% serve-static-1.13.2.tgz Transitive N/A*
CVE-2024-43799 Medium 5.0 Not Defined 0.0% send-0.16.2.tgz Transitive N/A*
CVE-2024-43796 Medium 5.0 Not Defined 0.0% express-4.16.4.tgz Direct express - 4.20.0,5.0.0

*For some transitive vulnerabilities, there is no version of direct dependency with a fix. Check the "Details" section below to see if there is a version of transitive dependency where vulnerability is fixed.

**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation

Details

CVE-2022-24999 ### Vulnerable Library - qs-6.5.2.tgz

A querystring parser that supports nesting and arrays, with a depth limit

Library home page: https://registry.npmjs.org/qs/-/qs-6.5.2.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/qs/package.json

Dependency Hierarchy: - express-4.16.4.tgz (Root Library) - :x: **qs-6.5.2.tgz** (Vulnerable Library)

Found in HEAD commit: 0f560909b2ffd6ef4ef6430245d20517f6f55a06

Found in base branch: master

### Reachability Analysis This vulnerability is potentially reachable ``` owasp-nodejs-goat-1.3.0/server.js (Application) -> express-4.16.4/index.js (Extension) -> express-4.16.4/lib/express.js (Extension) -> express-4.16.4/lib/middleware/query.js (Extension) -> qs-6.5.2/lib/index.js (Extension) -> ❌ qs-6.5.2/lib/stringify.js (Vulnerable Component) ```

### Vulnerability Details

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).

Publish Date: 2022-11-26

URL: CVE-2022-24999

### Threat Assessment

Exploit Maturity: Not Defined

EPSS: 1.9%

### CVSS 3 Score Details (7.5)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: None - Integrity Impact: None - Availability Impact: High

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://www.cve.org/CVERecord?id=CVE-2022-24999

Release Date: 2022-11-26

Fix Resolution (qs): 6.5.3

Direct dependency fix Resolution (express): 4.17.0

:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.
CVE-2024-45296 ### Vulnerable Library - path-to-regexp-0.1.7.tgz

Express style path to RegExp utility

Library home page: https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/path-to-regexp/package.json

Dependency Hierarchy: - express-4.16.4.tgz (Root Library) - :x: **path-to-regexp-0.1.7.tgz** (Vulnerable Library)

Found in HEAD commit: 0f560909b2ffd6ef4ef6430245d20517f6f55a06

Found in base branch: master

### Vulnerability Details

path-to-regexp turns path strings into a regular expressions. In certain cases, path-to-regexp will output a regular expression that can be exploited to cause poor performance. Because JavaScript is single threaded and regex matching runs on the main thread, poor performance will block the event loop and lead to a DoS. The bad regular expression is generated any time you have two parameters within a single segment, separated by something that is not a period (.). For users of 0.1, upgrade to 0.1.10. All other users should upgrade to 8.0.0.

Publish Date: 2024-09-09

URL: CVE-2024-45296

### Threat Assessment

Exploit Maturity: Not Defined

EPSS: 0.0%

### CVSS 3 Score Details (7.5)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: None - Integrity Impact: None - Availability Impact: High

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/pillarjs/path-to-regexp/security/advisories/GHSA-9wv6-86v2-598j

Release Date: 2024-09-09

Fix Resolution: path-to-regexp - 0.1.10,8.0.0

CVE-2024-29041 ### Vulnerable Library - express-4.16.4.tgz

Fast, unopinionated, minimalist web framework

Library home page: https://registry.npmjs.org/express/-/express-4.16.4.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/express/package.json

Dependency Hierarchy: - :x: **express-4.16.4.tgz** (Vulnerable Library)

Found in HEAD commit: 0f560909b2ffd6ef4ef6430245d20517f6f55a06

Found in base branch: master

### Vulnerability Details

Express.js minimalist web framework for node. Versions of Express.js prior to 4.19.0 and all pre-release alpha and beta versions of 5.0 are affected by an open redirect vulnerability using malformed URLs. When a user of Express performs a redirect using a user-provided URL Express performs an encode [using `encodeurl`](https://github.com/pillarjs/encodeurl) on the contents before passing it to the `location` header. This can cause malformed URLs to be evaluated in unexpected ways by common redirect allow list implementations in Express applications, leading to an Open Redirect via bypass of a properly implemented allow list. The main method impacted is `res.location()` but this is also called from within `res.redirect()`. The vulnerability is fixed in 4.19.2 and 5.0.0-beta.3.

Publish Date: 2024-03-25

URL: CVE-2024-29041

### Threat Assessment

Exploit Maturity: Not Defined

EPSS: 0.0%

### CVSS 3 Score Details (6.1)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: Required - Scope: Changed - Impact Metrics: - Confidentiality Impact: Low - Integrity Impact: Low - Availability Impact: None

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vc

Release Date: 2024-03-25

Fix Resolution: 4.19.0

:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.
CVE-2024-43800 ### Vulnerable Library - serve-static-1.13.2.tgz

Serve static files

Library home page: https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/serve-static/package.json

Dependency Hierarchy: - express-4.16.4.tgz (Root Library) - :x: **serve-static-1.13.2.tgz** (Vulnerable Library)

Found in HEAD commit: 0f560909b2ffd6ef4ef6430245d20517f6f55a06

Found in base branch: master

### Vulnerability Details

serve-static serves static files. serve-static passes untrusted user input - even after sanitizing it - to redirect() may execute untrusted code. This issue is patched in serve-static 1.16.0.

Publish Date: 2024-09-10

URL: CVE-2024-43800

### Threat Assessment

Exploit Maturity: Not Defined

EPSS: 0.1%

### CVSS 3 Score Details (5.0)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: None - User Interaction: Required - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: Low - Integrity Impact: Low - Availability Impact: Low

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/expressjs/serve-static/security/advisories/GHSA-cm22-4g7w-348p

Release Date: 2024-09-10

Fix Resolution: serve-static - 1.16.0,2.1.0

CVE-2024-43799 ### Vulnerable Library - send-0.16.2.tgz

Better streaming static file server with Range and conditional-GET support

Library home page: https://registry.npmjs.org/send/-/send-0.16.2.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/send/package.json

Dependency Hierarchy: - express-4.16.4.tgz (Root Library) - :x: **send-0.16.2.tgz** (Vulnerable Library)

Found in HEAD commit: 0f560909b2ffd6ef4ef6430245d20517f6f55a06

Found in base branch: master

### Vulnerability Details

Send is a library for streaming files from the file system as a http response. Send passes untrusted user input to SendStream.redirect() which executes untrusted code. This issue is patched in send 0.19.0.

Publish Date: 2024-09-10

URL: CVE-2024-43799

### Threat Assessment

Exploit Maturity: Not Defined

EPSS: 0.0%

### CVSS 3 Score Details (5.0)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: None - User Interaction: Required - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: Low - Integrity Impact: Low - Availability Impact: Low

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/pillarjs/send/security/advisories/GHSA-m6fv-jmcg-4jfg

Release Date: 2024-09-10

Fix Resolution: send - 0.19.0

CVE-2024-43796 ### Vulnerable Library - express-4.16.4.tgz

Fast, unopinionated, minimalist web framework

Library home page: https://registry.npmjs.org/express/-/express-4.16.4.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/express/package.json

Dependency Hierarchy: - :x: **express-4.16.4.tgz** (Vulnerable Library)

Found in HEAD commit: 0f560909b2ffd6ef4ef6430245d20517f6f55a06

Found in base branch: master

### Vulnerability Details

Express.js minimalist web framework for node. In express < 4.20.0, passing untrusted user input - even after sanitizing it - to response.redirect() may execute untrusted code. This issue is patched in express 4.20.0.

Publish Date: 2024-09-10

URL: CVE-2024-43796

### Threat Assessment

Exploit Maturity: Not Defined

EPSS: 0.0%

### CVSS 3 Score Details (5.0)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: None - User Interaction: Required - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: Low - Integrity Impact: Low - Availability Impact: Low

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/expressjs/express/security/advisories/GHSA-qw6h-vgh9-j6wx

Release Date: 2024-09-10

Fix Resolution: express - 4.20.0,5.0.0

:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.

:rescue_worker_helmet:Automatic Remediation will be attempted for this issue.

mend-for-github-com[bot] commented 10 months ago

:heavy_check_mark: This issue was automatically closed by Mend because the vulnerable library in the specific branch(es) was either marked as ignored or it is no longer part of the Mend inventory.

mend-for-github-com[bot] commented 10 months ago

:information_source: This issue was automatically re-opened by Mend because the vulnerable library in the specific branch(es) has been detected in the Mend inventory.