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.
ws is an open source WebSocket client and server for Node.js. A request with a number of headers exceeding theserver.maxHeadersCount threshold could be used to crash a ws server. The vulnerability was fixed in ws@8.17.1 (e55e510) and backported to ws@7.5.10 (22c2876), ws@6.2.3 (eeb76d3), and ws@5.2.4 (4abd8f6). In vulnerable versions of ws, the issue can be mitigated in the following ways: 1. Reduce the maximum allowed length of the request headers using the --max-http-header-size=size and/or the maxHeaderSize options so that no more headers than the server.maxHeadersCount limit can be sent. 2. Set server.maxHeadersCount to 0 so that no limit is applied.
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).
Path to vulnerable library: /node_modules/apollo-server/node_modules/express/package.json,/node_modules/apollo-server-express/node_modules/express/package.json
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.
Apollo Server can log sensitive information (Studio API keys) if they are passed incorrectly (with leading/trailing whitespace) or if they have any characters that are invalid as part of a header value.
Vulnerable Library - apollo-server-express-2.25.2.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/apollo-server/node_modules/qs/package.json,/node_modules/apollo-server-express/node_modules/qs/package.json
Found in HEAD commit: b544ab1bdcd701c07884add83f9af162c4523c4e
Vulnerabilities
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
CVE-2024-45296
### Vulnerable Library - path-to-regexp-0.1.7.tgzExpress 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: - apollo-server-express-2.25.2.tgz (Root Library) - express-4.17.1.tgz - :x: **path-to-regexp-0.1.7.tgz** (Vulnerable Library)
Found in HEAD commit: b544ab1bdcd701c07884add83f9af162c4523c4e
Found in base branch: main
### Vulnerability Detailspath-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 FixType: 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
Direct dependency fix Resolution (apollo-server-express): 3.0.0
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2024-37890
### Vulnerable Library - ws-7.5.6.tgzSimple to use, blazing fast and thoroughly tested websocket client and server for Node.js
Library home page: https://registry.npmjs.org/ws/-/ws-7.5.6.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/apollo-server-express/node_modules/ws/package.json
Dependency Hierarchy: - apollo-server-express-2.25.2.tgz (Root Library) - subscriptions-transport-ws-0.9.19.tgz - :x: **ws-7.5.6.tgz** (Vulnerable Library)
Found in HEAD commit: b544ab1bdcd701c07884add83f9af162c4523c4e
Found in base branch: main
### Vulnerability Detailsws is an open source WebSocket client and server for Node.js. A request with a number of headers exceeding theserver.maxHeadersCount threshold could be used to crash a ws server. The vulnerability was fixed in ws@8.17.1 (e55e510) and backported to ws@7.5.10 (22c2876), ws@6.2.3 (eeb76d3), and ws@5.2.4 (4abd8f6). In vulnerable versions of ws, the issue can be mitigated in the following ways: 1. Reduce the maximum allowed length of the request headers using the --max-http-header-size=size and/or the maxHeaderSize options so that no more headers than the server.maxHeadersCount limit can be sent. 2. Set server.maxHeadersCount to 0 so that no limit is applied.
Publish Date: 2024-06-17
URL: CVE-2024-37890
### 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 FixType: Upgrade version
Origin: https://github.com/websockets/ws/security/advisories/GHSA-3h5v-q93c-6h6q
Release Date: 2024-06-17
Fix Resolution (ws): 7.5.10
Direct dependency fix Resolution (apollo-server-express): 2.25.3
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2022-24999
### Vulnerable Library - qs-6.7.0.tgzA querystring parser that supports nesting and arrays, with a depth limit
Library home page: https://registry.npmjs.org/qs/-/qs-6.7.0.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/apollo-server/node_modules/qs/package.json,/node_modules/apollo-server-express/node_modules/qs/package.json
Dependency Hierarchy: - apollo-server-express-2.25.2.tgz (Root Library) - express-4.17.1.tgz - :x: **qs-6.7.0.tgz** (Vulnerable Library)
Found in HEAD commit: b544ab1bdcd701c07884add83f9af162c4523c4e
Found in base branch: main
### Vulnerability Detailsqs 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 FixType: Upgrade version
Origin: https://www.cve.org/CVERecord?id=CVE-2022-24999
Release Date: 2022-11-26
Fix Resolution (qs): 6.7.3
Direct dependency fix Resolution (apollo-server-express): 2.25.3
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.CVE-2024-29041
### Vulnerable Library - express-4.17.1.tgzFast, unopinionated, minimalist web framework
Library home page: https://registry.npmjs.org/express/-/express-4.17.1.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/apollo-server/node_modules/express/package.json,/node_modules/apollo-server-express/node_modules/express/package.json
Dependency Hierarchy: - apollo-server-express-2.25.2.tgz (Root Library) - :x: **express-4.17.1.tgz** (Vulnerable Library)
Found in HEAD commit: b544ab1bdcd701c07884add83f9af162c4523c4e
Found in base branch: main
### Vulnerability DetailsExpress.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 FixType: Upgrade version
Origin: https://github.com/expressjs/express/security/advisories/GHSA-rv95-896h-c2vc
Release Date: 2024-03-25
Fix Resolution (express): 4.19.0
Direct dependency fix Resolution (apollo-server-express): 3.0.0
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.WS-2023-0313
### Vulnerable Library - apollo-server-core-2.25.3.tgzCore engine for Apollo GraphQL server
Library home page: https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.25.3.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/apollo-server-core/package.json
Dependency Hierarchy: - apollo-server-express-2.25.2.tgz (Root Library) - :x: **apollo-server-core-2.25.3.tgz** (Vulnerable Library)
Found in HEAD commit: b544ab1bdcd701c07884add83f9af162c4523c4e
Found in base branch: main
### Vulnerability DetailsApollo Server can log sensitive information (Studio API keys) if they are passed incorrectly (with leading/trailing whitespace) or if they have any characters that are invalid as part of a header value.
Publish Date: 2023-08-31
URL: WS-2023-0313
### 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: Low - Integrity Impact: None - Availability Impact: None
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://github.com/advisories/GHSA-j5g3-5c8r-7qfx
Release Date: 2023-08-31
Fix Resolution (apollo-server-core): 2.26.1
Direct dependency fix Resolution (apollo-server-express): 2.25.3
:rescue_worker_helmet: Automatic Remediation will be attempted for this issue.:rescue_worker_helmet:Automatic Remediation will be attempted for this issue.