Mend-DemoCorp / JuiceShop

MIT License
0 stars 0 forks source link

build-angular-15.2.11.tgz: 7 vulnerabilities (highest severity is: 7.5) #43

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

mend-for-github-com[bot] commented 3 months ago
Vulnerable Library - build-angular-15.2.11.tgz

Path to dependency file: /frontend/package.json

Path to vulnerable library: /node_modules/liftup/node_modules/micromatch/package.json,/frontend/node_modules/micromatch/package.json,/node_modules/grunt/node_modules/micromatch/package.json

Found in HEAD commit: 46f9017bf07d9afe8f4c8706e6bb2bdfc9524486

Vulnerabilities

CVE Severity CVSS Dependency Type Fixed in (build-angular version) Remediation Possible** Reachability
CVE-2024-4067 Medium 5.3 micromatch-4.0.7.tgz Transitive N/A*

Unreachable

CVE-2024-45296 High 7.5 path-to-regexp-0.1.7.tgz Transitive N/A*
CVE-2024-21536 High 7.5 http-proxy-middleware-2.0.6.tgz Transitive N/A*
CVE-2024-43788 Medium 6.4 webpack-5.76.1.tgz Transitive N/A*
CVE-2024-47764 Medium 5.3 cookie-0.6.0.tgz Transitive N/A*
CVE-2024-43800 Medium 5.0 serve-static-1.15.0.tgz Transitive N/A*
CVE-2024-43799 Medium 5.0 send-0.18.0.tgz Transitive N/A*

*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-4067 ### Vulnerable Library - micromatch-4.0.7.tgz

Library home page: https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/liftup/node_modules/micromatch/package.json,/frontend/node_modules/micromatch/package.json,/node_modules/grunt/node_modules/micromatch/package.json

Dependency Hierarchy: - build-angular-15.2.11.tgz (Root Library) - copy-webpack-plugin-11.0.0.tgz - fast-glob-3.3.2.tgz - :x: **micromatch-4.0.7.tgz** (Vulnerable Library)

Found in HEAD commit: 46f9017bf07d9afe8f4c8706e6bb2bdfc9524486

Found in base branch: main

### Reachability Analysis

The vulnerable code is unreachable

### Vulnerability Details

The NPM package `micromatch` prior to 4.0.8 is vulnerable to Regular Expression Denial of Service (ReDoS). The vulnerability occurs in `micromatch.braces()` in `index.js` because the pattern `.*` will greedily match anything. By passing a malicious payload, the pattern matching will keep backtracking to the input while it doesn't find the closing bracket. As the input size increases, the consumption time will also increase until it causes the application to hang or slow down. There was a merged fix but further testing shows the issue persists. This issue should be mitigated by using a safe pattern that won't start backtracking the regular expression due to greedy matching. This issue was fixed in version 4.0.8. Mend Note: After conducting a further research, it was concluded that CVE-2024-4067 should not reflect the security risk score in NVD, but will be kept for users' awareness.

Publish Date: 2024-05-13

URL: CVE-2024-4067

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

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Release Date: 2024-05-13

Fix Resolution: micromatch - 4.0.8

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: /frontend/package.json

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

Dependency Hierarchy: - build-angular-15.2.11.tgz (Root Library) - webpack-dev-server-4.11.1.tgz - express-4.19.2.tgz - :x: **path-to-regexp-0.1.7.tgz** (Vulnerable Library)

Found in HEAD commit: 46f9017bf07d9afe8f4c8706e6bb2bdfc9524486

Found in base branch: main

### 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-2024-21536 ### Vulnerable Library - http-proxy-middleware-2.0.6.tgz

The one-liner node.js proxy middleware for connect, express and browser-sync

Library home page: https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz

Path to dependency file: /frontend/package.json

Path to vulnerable library: /frontend/node_modules/http-proxy-middleware/package.json

Dependency Hierarchy: - build-angular-15.2.11.tgz (Root Library) - webpack-dev-server-4.11.1.tgz - :x: **http-proxy-middleware-2.0.6.tgz** (Vulnerable Library)

Found in HEAD commit: 46f9017bf07d9afe8f4c8706e6bb2bdfc9524486

Found in base branch: main

### Vulnerability Details

Versions of the package http-proxy-middleware before 2.0.7, from 3.0.0 and before 3.0.3 are vulnerable to Denial of Service (DoS) due to an UnhandledPromiseRejection error thrown by micromatch. An attacker could kill the Node.js process and crash the server by making requests to certain paths.

Publish Date: 2024-10-19

URL: CVE-2024-21536

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

Release Date: 2024-10-19

Fix Resolution: http-proxy-middleware - 2.0.7,3.0.3

CVE-2024-43788 ### Vulnerable Library - webpack-5.76.1.tgz

Library home page: https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz

Path to dependency file: /frontend/package.json

Path to vulnerable library: /frontend/node_modules/webpack/package.json

Dependency Hierarchy: - build-angular-15.2.11.tgz (Root Library) - :x: **webpack-5.76.1.tgz** (Vulnerable Library)

Found in HEAD commit: 46f9017bf07d9afe8f4c8706e6bb2bdfc9524486

Found in base branch: main

### Vulnerability Details

Webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. The webpack developers have discovered a DOM Clobbering vulnerability in Webpack’s `AutoPublicPathRuntimeModule`. The DOM Clobbering gadget in the module can lead to cross-site scripting (XSS) in web pages where scriptless attacker-controlled HTML elements (e.g., an `img` tag with an unsanitized `name` attribute) are present. Real-world exploitation of this gadget has been observed in the Canvas LMS which allows a XSS attack to happen through a javascript code compiled by Webpack (the vulnerable part is from Webpack). DOM Clobbering is a type of code-reuse attack where the attacker first embeds a piece of non-script, seemingly benign HTML markups in the webpage (e.g. through a post or comment) and leverages the gadgets (pieces of js code) living in the existing javascript code to transform it into executable code. This vulnerability can lead to cross-site scripting (XSS) on websites that include Webpack-generated files and allow users to inject certain scriptless HTML tags with improperly sanitized name or id attributes. This issue has been addressed in release version 5.94.0. All users are advised to upgrade. There are no known workarounds for this issue.

Publish Date: 2024-08-27

URL: CVE-2024-43788

### CVSS 3 Score Details (6.4)

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

For more information on CVSS3 Scores, click here.

### Suggested Fix

Type: Upgrade version

Origin: https://github.com/webpack/webpack/security/advisories/GHSA-4vvj-4cpr-p986

Release Date: 2024-08-27

Fix Resolution: webpack - 5.94.0

CVE-2024-47764 ### Vulnerable Library - cookie-0.6.0.tgz

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

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/express/node_modules/cookie/package.json,/frontend/node_modules/express/node_modules/cookie/package.json

Dependency Hierarchy: - build-angular-15.2.11.tgz (Root Library) - webpack-dev-server-4.11.1.tgz - express-4.19.2.tgz - :x: **cookie-0.6.0.tgz** (Vulnerable Library)

Found in HEAD commit: 46f9017bf07d9afe8f4c8706e6bb2bdfc9524486

Found in base branch: main

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

Serve static files

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

Path to dependency file: /package.json

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

Dependency Hierarchy: - build-angular-15.2.11.tgz (Root Library) - webpack-dev-server-4.11.1.tgz - express-4.19.2.tgz - :x: **serve-static-1.15.0.tgz** (Vulnerable Library)

Found in HEAD commit: 46f9017bf07d9afe8f4c8706e6bb2bdfc9524486

Found in base branch: main

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

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

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

Path to dependency file: /frontend/package.json

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

Dependency Hierarchy: - build-angular-15.2.11.tgz (Root Library) - webpack-dev-server-4.11.1.tgz - express-4.19.2.tgz - :x: **send-0.18.0.tgz** (Vulnerable Library)

Found in HEAD commit: 46f9017bf07d9afe8f4c8706e6bb2bdfc9524486

Found in base branch: main

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