SharonKoch / skf-labs

Repo for all the OWASP-SKF Docker lab examples
Apache License 2.0
0 stars 1 forks source link

express-4.17.2.tgz: 8 vulnerabilities (highest severity is: 7.5) #58

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

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

Fast, unopinionated, minimalist web framework

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

Path to dependency file: /nodeJs/XSS/package.json

Path to vulnerable library: /nodeJs/XSS/package.json,/nodeJs/Client-side-restriction-bypass/package.json,/nodeJs/Graphql-Mutations/package.json,/nodeJs/Http-response-splitting/package.json,/nodeJs/CSTI/package.json,/nodeJs/Client-side-restriction-bypass-2/package.json,/nodeJs/Graphql-Injection/package.json,/nodeJs/Graphql-Introspection/package.json,/nodeJs/RTLO/package.json,/nodeJs/Untrusted-sources-js/package.json

Found in HEAD commit: dbff3320673205dea2e0a4c513d54497ca905aab

Vulnerabilities

CVE Severity CVSS Dependency Type Fixed in (express version) Remediation Possible**
CVE-2024-45590 High 7.5 body-parser-1.19.1.tgz Transitive N/A*
CVE-2024-45296 High 7.5 path-to-regexp-0.1.7.tgz Transitive N/A*
CVE-2022-24999 High 7.5 qs-6.9.6.tgz Transitive 4.17.3
CVE-2024-29041 Medium 6.1 express-4.17.2.tgz Direct 4.19.0
CVE-2024-47764 Medium 5.3 cookie-0.4.1.tgz Transitive N/A*
CVE-2024-43800 Medium 5.0 serve-static-1.14.2.tgz Transitive N/A*
CVE-2024-43799 Medium 5.0 send-0.17.2.tgz Transitive N/A*
CVE-2024-43796 Medium 5.0 express-4.17.2.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-2024-45590 ### Vulnerable Library - body-parser-1.19.1.tgz

Node.js body parsing middleware

Library home page: https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz

Path to dependency file: /nodeJs/Client-side-restriction-bypass/package.json

Path to vulnerable library: /nodeJs/Client-side-restriction-bypass/package.json,/nodeJs/Graphql-Introspection/package.json,/nodeJs/RTLO/package.json,/nodeJs/Graphql-Injection/package.json,/nodeJs/Client-side-restriction-bypass-2/package.json,/nodeJs/Untrusted-sources-js/package.json,/nodeJs/XSS/package.json,/nodeJs/Http-response-splitting/package.json,/nodeJs/Graphql-Mutations/package.json,/nodeJs/CSTI/package.json

Dependency Hierarchy: - express-4.17.2.tgz (Root Library) - :x: **body-parser-1.19.1.tgz** (Vulnerable Library)

Found in HEAD commit: dbff3320673205dea2e0a4c513d54497ca905aab

Found in base branch: master

### Vulnerability Details

body-parser is Node.js body parsing middleware. body-parser <1.20.3 is vulnerable to denial of service when url encoding is enabled. A malicious actor using a specially crafted payload could flood the server with a large number of requests, resulting in denial of service. This issue is patched in 1.20.3.

Publish Date: 2024-09-10

URL: CVE-2024-45590

### 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/expressjs/body-parser/security/advisories/GHSA-qwcr-r2fm-qrc7

Release Date: 2024-09-10

Fix Resolution: body-parser - 1.20.3

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: /nodeJs/Auth-Bypass-3/package.json

Path to vulnerable library: /nodeJs/Auth-Bypass-3/package.json,/nodeJs/RaceCondition/package.json,/nodeJs/LFI/package.json,/nodeJs/Auth-Bypass/package.json,/nodeJs/File-upload/package.json,/nodeJs/Auth-Bypass-2/package.json,/nodeJs/Ratelimiting/package.json,/nodeJs/CMD4/package.json,/nodeJs/CMD3/package.json,/nodeJs/Credentials-guessing-2/package.json,/nodeJs/Graphql-Mutations/package.json,/nodeJs/Auth-Bypass-1/package.json,/nodeJs/SessionPuzzle/package.json,/nodeJs/Url-redirection-harder/package.json,/nodeJs/Ldap-Injection/package.json,/nodeJs/Url-redirection/package.json,/nodeJs/Prototype-Pollution/package.json,/nodeJs/CSTI/package.json,/nodeJs/Content-type/package.json,/nodeJs/JWT-secret/package.json,/nodeJs/CORS/package.json,/nodeJs/Info-leakage-metadata/package.json,/nodeJs/XSS-attribute/package.json,/nodeJs/CMD-Blind/package.json,/nodeJs/Graphql-Introspection/package.json,/nodeJs/Session-hijacking-xss/package.json,/nodeJs/Graphql-Injection/package.json,/nodeJs/Credentials-guessing-1/package.json,/nodeJs/SSRF/package.json,/nodeJs/SQLI-blind/package.json,/nodeJs/Client-side-restriction-bypass-2/package.json,/nodeJs/ParameterBinding/package.json,/nodeJs/XSS-DOM-2/package.json,/nodeJs/CSSI/package.json,/nodeJs/CSP/package.json,/nodeJs/XSS-url/package.json,/nodeJs/CSRF/node_modules/path-to-regexp/package.json,/nodeJs/XXE/package.json,/nodeJs/Ldap-Injection-harder/package.json,/nodeJs/DOS-regex/package.json,/nodeJs/CMD/package.json,/nodeJs/Http-response-splitting/package.json,/nodeJs/RaceCondition-file-write/package.json,/nodeJs/SQLI-like/package.json,/nodeJs/XSS/package.json,/nodeJs/JWT-null/package.json,/nodeJs/RFI/package.json,/nodeJs/IDOR/package.json,/nodeJs/LFI-2/package.json,/nodeJs/LFI-3/package.json,/nodeJs/Untrusted-sources-js/package.json,/nodeJs/CMD2/package.json,/nodeJs/Url-redirection-harder2/package.json,/nodeJs/Formula-Injection/package.json,/nodeJs/XSS-DOM/package.json,/nodeJs/Info-leakage-comments/package.json,/nodeJs/Client-side-restriction-bypass/package.json,/nodeJs/CSRF-samesite/package.json,/nodeJs/CSRF-weak/package.json,/nodeJs/RTLO/package.json,/nodeJs/Auth-Bypass-simple/package.json,/nodeJs/SQLI/package.json

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

Found in HEAD commit: dbff3320673205dea2e0a4c513d54497ca905aab

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

### 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-2022-24999 ### Vulnerable Library - qs-6.9.6.tgz

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

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

Dependency Hierarchy: - express-4.17.2.tgz (Root Library) - :x: **qs-6.9.6.tgz** (Vulnerable Library)

Found in HEAD commit: dbff3320673205dea2e0a4c513d54497ca905aab

Found in base branch: master

### 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

### 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.9.7

Direct dependency fix Resolution (express): 4.17.3

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

Fast, unopinionated, minimalist web framework

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

Path to dependency file: /nodeJs/XSS/package.json

Path to vulnerable library: /nodeJs/XSS/package.json,/nodeJs/Client-side-restriction-bypass/package.json,/nodeJs/Graphql-Mutations/package.json,/nodeJs/Http-response-splitting/package.json,/nodeJs/CSTI/package.json,/nodeJs/Client-side-restriction-bypass-2/package.json,/nodeJs/Graphql-Injection/package.json,/nodeJs/Graphql-Introspection/package.json,/nodeJs/RTLO/package.json,/nodeJs/Untrusted-sources-js/package.json

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

Found in HEAD commit: dbff3320673205dea2e0a4c513d54497ca905aab

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

### 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-47764 ### Vulnerable Library - cookie-0.4.1.tgz

HTTP server cookie parsing and serialization

Library home page: https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz

Dependency Hierarchy: - express-4.17.2.tgz (Root Library) - :x: **cookie-0.4.1.tgz** (Vulnerable Library)

Found in HEAD commit: dbff3320673205dea2e0a4c513d54497ca905aab

Found in base branch: master

### Vulnerability Details

cookie is a basic HTTP cookie parser and serializer for HTTP servers. The cookie name could be used to set other fields of the cookie, resulting in an unexpected cookie value. A similar escape can be used for path and domain, which could be abused to alter other fields of the cookie. Upgrade to 0.7.0, which updates the validation for name, path, and domain.

Publish Date: 2024-10-04

URL: CVE-2024-47764

### CVSS 3 Score Details (5.3)

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: Low - Availability Impact: None

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/jshttp/cookie/security/advisories/GHSA-pxg6-pf52-xh8x

Release Date: 2024-10-04

Fix Resolution: cookie - 0.7.0

CVE-2024-43800 ### Vulnerable Library - serve-static-1.14.2.tgz

Serve static files

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

Path to dependency file: /nodeJs/Http-response-splitting/package.json

Path to vulnerable library: /nodeJs/Http-response-splitting/package.json,/nodeJs/XSS/package.json,/nodeJs/Client-side-restriction-bypass/package.json,/nodeJs/Graphql-Mutations/package.json,/nodeJs/CSTI/package.json,/nodeJs/Untrusted-sources-js/package.json,/nodeJs/RTLO/package.json,/nodeJs/Client-side-restriction-bypass-2/package.json,/nodeJs/Graphql-Introspection/package.json,/nodeJs/Graphql-Injection/package.json

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

Found in HEAD commit: dbff3320673205dea2e0a4c513d54497ca905aab

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

### 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.17.2.tgz

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

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

Path to dependency file: /nodeJs/CSTI/package.json

Path to vulnerable library: /nodeJs/CSTI/package.json,/nodeJs/Graphql-Mutations/package.json,/nodeJs/Http-response-splitting/package.json,/nodeJs/XSS/package.json,/nodeJs/Client-side-restriction-bypass-2/package.json,/nodeJs/Graphql-Injection/package.json,/nodeJs/Untrusted-sources-js/package.json,/nodeJs/Graphql-Introspection/package.json,/nodeJs/RTLO/package.json,/nodeJs/Client-side-restriction-bypass/package.json

Dependency Hierarchy: - express-4.17.2.tgz (Root Library) - :x: **send-0.17.2.tgz** (Vulnerable Library)

Found in HEAD commit: dbff3320673205dea2e0a4c513d54497ca905aab

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

### 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.17.2.tgz

Fast, unopinionated, minimalist web framework

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

Path to dependency file: /nodeJs/XSS/package.json

Path to vulnerable library: /nodeJs/XSS/package.json,/nodeJs/Client-side-restriction-bypass/package.json,/nodeJs/Graphql-Mutations/package.json,/nodeJs/Http-response-splitting/package.json,/nodeJs/CSTI/package.json,/nodeJs/Client-side-restriction-bypass-2/package.json,/nodeJs/Graphql-Injection/package.json,/nodeJs/Graphql-Introspection/package.json,/nodeJs/RTLO/package.json,/nodeJs/Untrusted-sources-js/package.json

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

Found in HEAD commit: dbff3320673205dea2e0a4c513d54497ca905aab

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

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