Skip to content
This repository was archived by the owner on Sep 7, 2026. It is now read-only.

fix(security): Bump fast-uri to 3.1.6 for fixing 4 high vulnerabilities - #838

Closed
nishithakbhaskaran wants to merge 1 commit into
webpack:mainfrom
nishithakbhaskaran:fast-uri-cve-fix
Closed

fix(security): Bump fast-uri to 3.1.6 for fixing 4 high vulnerabilities#838
nishithakbhaskaran wants to merge 1 commit into
webpack:mainfrom
nishithakbhaskaran:fast-uri-cve-fix

Conversation

@nishithakbhaskaran

Copy link
Copy Markdown

Summary

Current fast-uri version used in the latest release (master) is 3.1.5 which introduces the following 4 high vulnerabilities.This PR upgrades them to 3.1.6 version there by eliminating the CVEs.

Vulnerable Library - copy-webpack-plugin-14.0.0.tgz

Path to dependency file: /presto-ui/src/package.json

Path to vulnerable library: /presto-ui/src/package.json

Found in HEAD commit: e770fe72677ac687e80fa6de8cb523e52111748d

Vulnerabilities

Vulnerability Severity CVSS Dependency Type Fixed in (copy-webpack-plugin version) Remediation Possible**
CVE-2026-76172 High 7.5 fast-uri-3.1.5.tgz Transitive N/A*
CVE-2026-75975 High 7.5 fast-uri-3.1.5.tgz Transitive N/A*
CVE-2026-75931 High 7.5 fast-uri-3.1.5.tgz Transitive N/A*
CVE-2026-75899 High 7.5 fast-uri-3.1.5.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-2026-76172

Vulnerable Library - fast-uri-3.1.5.tgz

Dependency-free RFC 3986 URI toolbox

Library home page: https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz

Path to dependency file: /presto-ui/src/package.json

Path to vulnerable library: /presto-ui/src/package.json

Dependency Hierarchy:

  • copy-webpack-plugin-14.0.0.tgz (Root Library)
    • schema-utils-4.3.3.tgz
      • ajv-formats-2.1.1.tgz
        • ajv-8.18.0.tgz
          • fast-uri-3.1.5.tgz (Vulnerable Library)

Found in HEAD commit: e770fe72677ac687e80fa6de8cb523e52111748d

Found in base branch: master

Vulnerability Details

fast-uri is a URI parser for Node.js. During parsing it runs a legacy decoding pass over the scheme component and never re-escapes the result, and serialization writes the scheme back out verbatim, unlike the host component which is re-escaped. As a result an input whose scheme carries percent-encoded slashes parses as a scheme with no authority, so the parsed host and error are both undefined, yet resolving or normalizing that same input emits a network-path reference whose authority is attacker-chosen and re-parses to that host. An application that allowlists on the parsed host, or treats a reference with no authority as safe to resolve against its base, gets the opposite of what it checked, giving an off-site redirect, server-side request forgery, or address-policy bypass. The legacy decoder also expands non-standard escape forms, widening the issue past upstream filters, and control characters in the scheme can reach the output as raw carriage return and line feed. The affected versions are 2.3.1 up to but not including 2.4.5, 3.0.0 up to but not including 3.1.6, and 4.0.0 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which reject a scheme that is not valid after decoding. Users should upgrade to a patched version.

Publish Date: 2026-08-24

URL: CVE-2026-76172

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-jqff-g426-hqxp

Release Date: 2026-08-24

Fix Resolution: fast-uri - 2.4.5,fast-uri - 3.1.6,fast-uri - 4.1.3

CVE-2026-75975

Vulnerable Library - fast-uri-3.1.5.tgz

Dependency-free RFC 3986 URI toolbox

Library home page: https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz

Path to dependency file: /presto-ui/src/package.json

Path to vulnerable library: /presto-ui/src/package.json

Dependency Hierarchy:

  • copy-webpack-plugin-14.0.0.tgz (Root Library)
    • schema-utils-4.3.3.tgz
      • ajv-formats-2.1.1.tgz
        • ajv-8.18.0.tgz
          • fast-uri-3.1.5.tgz (Vulnerable Library)

Found in HEAD commit: e770fe72677ac687e80fa6de8cb523e52111748d

Found in base branch: master

Vulnerability Details

fast-uri is a URI parser for Node.js. Its custom parser for bracketed IPv6 literals does not validate the complete IPv6 grammar, so invalid trailing text in an authority can be silently discarded and a malformed attacker-controlled host is turned into a different valid IPv6 destination. For example, a bracketed literal with invalid trailing characters is normalized to the unspecified address, which a Node HTTP client then connects to a local service over loopback, and other malformed literals collapse to private-range addresses. No error is set on the parsed result, so an application checking the error field cannot detect the rewrite. An application that normalizes untrusted URLs before outbound requests, redirects, proxy routing, or address-policy enforcement can be redirected to a local or private IPv6 target, giving a server-side request forgery and address-policy bypass primitive. The affected versions are 2.3.1 up to but not including 2.4.5, 3.0.0 up to but not including 3.1.6, and 4.0.0 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which validate bracketed IP literals against the full grammar and mark malformed literals as authority errors. Users should upgrade to a patched version.

Publish Date: 2026-08-24

URL: CVE-2026-75975

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-f65p-4m7j-42xc

Release Date: 2026-08-24

Fix Resolution: fast-uri - 4.1.3,fast-uri - 2.4.5,fast-uri - 3.1.6

CVE-2026-75931

Vulnerable Library - fast-uri-3.1.5.tgz

Dependency-free RFC 3986 URI toolbox

Library home page: https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz

Path to dependency file: /presto-ui/src/package.json

Path to vulnerable library: /presto-ui/src/package.json

Dependency Hierarchy:

  • copy-webpack-plugin-14.0.0.tgz (Root Library)
    • schema-utils-4.3.3.tgz
      • ajv-formats-2.1.1.tgz
        • ajv-8.18.0.tgz
          • fast-uri-3.1.5.tgz (Vulnerable Library)

Found in HEAD commit: e770fe72677ac687e80fa6de8cb523e52111748d

Found in base branch: master

Vulnerability Details

fast-uri is a URI parser for Node.js. It canonicalizes a host to its ASCII form only when the input carries an explicit scheme, so a scheme-relative reference such as a host preceded by two slashes is returned with its host verbatim and no error set. As a result fast-uri's own entry points disagree with each other: parse, resolve, normalize, and equal can yield different hosts for the same input depending only on whether a scheme is written out, and equal can return opposite verdicts for the same pair of hosts. An application that extracts a host with fast-uri to check it against a policy list and then resolves the same reference can make its decision on one host while the destination is another, enabling host confusion and policy bypass. The affected versions are 2.4.2 up to but not including 2.4.5, 3.1.3 up to but not including 3.1.6, and 4.0.1 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which canonicalize the host consistently across the resolve path. Users should upgrade to a patched version.

Publish Date: 2026-08-24

URL: CVE-2026-75931

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-5jgf-p345-68v8

Release Date: 2026-08-24

Fix Resolution: fast-uri - 2.4.5,fast-uri - 3.1.6,fast-uri - 4.1.3

CVE-2026-75899

Vulnerable Library - fast-uri-3.1.5.tgz

Dependency-free RFC 3986 URI toolbox

Library home page: https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz

Path to dependency file: /presto-ui/src/package.json

Path to vulnerable library: /presto-ui/src/package.json

Dependency Hierarchy:

  • copy-webpack-plugin-14.0.0.tgz (Root Library)
    • schema-utils-4.3.3.tgz
      • ajv-formats-2.1.1.tgz
        • ajv-8.18.0.tgz
          • fast-uri-3.1.5.tgz (Vulnerable Library)

Found in HEAD commit: e770fe72677ac687e80fa6de8cb523e52111748d

Found in base branch: master

Vulnerability Details

fast-uri is a URI parser for Node.js. It decodes percent escapes in a hostname during parsing and then decodes the parsed hostname a second time during authority recomposition, so a single call to normalize or resolve can turn nested percent-encoded input into a different network destination such as a loopback hostname or address. For example, a doubly encoded host that spells out a loopback name decodes to that live host in one operation, which contradicts RFC 3986 section 2.4 that an implementation must not decode the same string more than once. An application that normalizes or resolves an untrusted HTTP-family URI before outbound routing, redirect validation, or a host-policy check can receive a destination different from the one the original encoded host represented, giving a server-side request forgery and host-policy bypass primitive. This is an incomplete-fix variant of CVE-2026-6322. The affected versions are 2.4.1 up to but not including 2.4.5, 3.1.2 up to but not including 3.1.6, and 4.0.0 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which normalize percent escapes once and preserve encoded percent signs. Users should upgrade to a patched version.

Publish Date: 2026-08-24

URL: CVE-2026-75899

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-fph4-wmhf-6fwf

Release Date: 2026-08-24

Fix Resolution: fast-uri - 2.4.5,fast-uri - 3.1.6,fast-uri - 4.1.3

What kind of change does this PR introduce?

Fix Security vulnerability.

Did you add tests for your changes?

Does this PR introduce a breaking change?

If relevant, what needs to be documented once your changes are merged or what have you already documented?

Use of AI

@linux-foundation-easycla

Copy link
Copy Markdown

CLA Missing ID

  • ❌ The email address for the commit (de83ad7) is not linked to the GitHub account, preventing the EasyCLA check. Consult this Help Article and GitHub Help to resolve. (To view the commit's email address, add .patch at the end of this PR page's URL.) For further assistance with EasyCLA, please visit our EasyCLA portal and chat with our support bot.

@evenstensberg

Copy link
Copy Markdown
Member

Hi @nishithakbhaskaran and thanks for your first contribution! Unfortunately we use an automated action (socket security or dependabot) to up our dependencies. Let me know if you need something to work on that is mergeable.

@nishithakbhaskaran

Copy link
Copy Markdown
Author

Hi @nishithakbhaskaran and thanks for your first contribution! Unfortunately we use an automated action (socket security or dependabot) to up our dependencies. Let me know if you need something to work on that is mergeable.

Thanks @evenstensberg. I have noticed this vulnerability while working on our repo. It would be great if you could trigger a fix for this via the dependabot, since fast-uri version 3.1.5 is showing 4 high-severity CVEs.

@nishithakbhaskaran

Copy link
Copy Markdown
Author

@evenstensberg It would also be helpful to know when we can expect the latest release with the fix from the community.
TIA!!

@evenstensberg

Copy link
Copy Markdown
Member

Me or someone from the team will have a look at updating deps today. Thanks for the notice.

@evenstensberg

Copy link
Copy Markdown
Member

@nishithakbhaskaran try using npm audit fix or override directly in your app.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants