Skip to content

canvas-2.11.2.tgz: 32 vulnerabilities (highest severity is: 8.8) #438

Description

@mend-for-github-com
Vulnerable Library - canvas-2.11.2.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Vulnerabilities

Vulnerability Severity CVSS Dependency Type Fixed in (canvas version) Remediation Possible**
CVE-2026-23950 High 8.8 detected in multiple dependencies Transitive 3.0.0-rc1b ✅
CVE-2026-59873 High 8.6 detected in multiple dependencies Transitive 3.0.0-rc1b ✅
CVE-2026-24842 High 8.2 detected in multiple dependencies Transitive 3.0.0-rc1b ✅
CVE-2026-93748 High 7.5 http-cache-semantics-4.1.1.tgz Transitive N/A* ❌
CVE-2026-73566 High 7.5 detected in multiple dependencies Transitive 3.0.0-rc1b ✅
CVE-2026-69152 High 7.5 brace-expansion-2.0.1.tgz Transitive N/A* ❌
CVE-2026-59874 High 7.5 detected in multiple dependencies Transitive 3.0.0-rc1b ✅
CVE-2026-27904 High 7.5 minimatch-9.0.5.tgz Transitive 3.0.0-rc1b ✅
CVE-2026-27903 High 7.5 minimatch-9.0.5.tgz Transitive N/A* ❌
CVE-2026-26996 High 7.5 minimatch-9.0.5.tgz Transitive N/A* ❌
CVE-2026-14257 High 7.5 brace-expansion-2.0.1.tgz Transitive N/A* ❌
CVE-2026-13149 High 7.5 brace-expansion-2.0.1.tgz Transitive N/A* ❌
CVE-2026-102278 High 7.5 brace-expansion-2.0.1.tgz Transitive 3.0.0-rc1b ✅
CVE-2026-102276 High 7.5 brace-expansion-2.0.1.tgz Transitive 3.0.0-rc1b ✅
CVE-2025-64756 High 7.5 glob-10.4.5.tgz Transitive 3.0.0-rc1b ✅
CVE-2026-31802 High 7.1 detected in multiple dependencies Transitive N/A* ❌
CVE-2026-29786 High 7.1 detected in multiple dependencies Transitive N/A* ❌
CVE-2026-26960 High 7.1 detected in multiple dependencies Transitive 3.0.0-rc1b ✅
CVE-2026-23745 High 7.1 detected in multiple dependencies Transitive N/A* ❌
CVE-2026-33750 Medium 6.5 brace-expansion-2.0.1.tgz Transitive N/A* ❌
CVE-2026-53655 Medium 6.2 detected in multiple dependencies Transitive N/A* ❌
CVE-2026-93750 Medium 5.9 http-cache-semantics-4.1.1.tgz Transitive N/A* ❌
CVE-2026-69192 Medium 5.8 ip-address-9.0.5.tgz Transitive N/A* ❌
CVE-2026-101913 Medium 5.8 ip-address-9.0.5.tgz Transitive N/A* ❌
CVE-2026-42338 Medium 5.4 ip-address-9.0.5.tgz Transitive 3.0.0-rc1b ✅
CVE-2026-97058 Medium 5.3 sprintf-js-1.1.3.tgz Transitive N/A* ❌
CVE-2026-59875 Medium 5.3 detected in multiple dependencies Transitive 3.0.0-rc1b ✅
CVE-2026-59871 Medium 5.3 detected in multiple dependencies Transitive 3.0.0-rc1b ✅
CVE-2026-102277 Medium 5.3 brace-expansion-2.0.1.tgz Transitive 3.0.0-rc1b ✅
CVE-2026-101912 Medium 5.3 ip-address-9.0.5.tgz Transitive 3.0.0-rc1b ✅
CVE-2026-101911 Medium 5.3 ip-address-9.0.5.tgz Transitive 3.0.0-rc1b ✅
CVE-2025-5889 Low 3.1 brace-expansion-2.0.1.tgz Transitive 3.0.0-rc1b ✅

*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

Partial details (20 vulnerabilities) are displayed below due to a content size limitation in GitHub. To view information on the remaining vulnerabilities, navigate to the Mend Application.

CVE-2026-23950

Vulnerable Libraries - tar-6.2.1.tgz, tar-7.4.3.tgz

tar-6.2.1.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-pre-gyp-1.0.11.tgz
      • ❌ tar-6.2.1.tgz (Vulnerable Library)

tar-7.4.3.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-7.4.3.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ tar-7.4.3.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

node-tar,a Tar for Node.js, has a race condition vulnerability in versions up to and including 7.5.3. This is due to an incomplete handling of Unicode path collisions in the "path-reservations" system. On case-insensitive or normalization-insensitive filesystems (such as macOS APFS, In which it has been tested), the library fails to lock colliding paths (e.g., "ß" and "ss"), allowing them to be processed in parallel. This bypasses the library's internal concurrency safeguards and permits Symlink Poisoning attacks via race conditions. The library uses a "PathReservations" system to ensure that metadata checks and file operations for the same path are serialized. This prevents race conditions where one entry might clobber another concurrently. This is a Race Condition which enables Arbitrary File Overwrite. This vulnerability affects users and systems using node-tar on macOS (APFS/HFS+). Because of using "NFD" Unicode normalization (in which "ß" and "ss" are different), conflicting paths do not have their order properly preserved under filesystems that ignore Unicode normalization (e.g., APFS (in which "ß" causes an inode collision with "ss")). This enables an attacker to circumvent internal parallelization locks ("PathReservations") using conflicting filenames within a malicious tar archive. The patch in version 7.5.4 updates "path-reservations.js" to use a normalization form that matches the target filesystem's behavior (e.g., "NFKD"), followed by first "toLocaleLowerCase('en')" and then "toLocaleUpperCase('en')". As a workaround, users who cannot upgrade promptly, and who are programmatically using "node-tar" to extract arbitrary tarball data should filter out all "SymbolicLink" entries (as npm does) to defend against arbitrary file writes via this file system entry name collision issue.

Publish Date: 2026-01-20

URL: CVE-2026-23950

CVSS 3 Score Details (8.8)

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-r6q2-hw4h-h46w

Release Date: 2026-01-20

Fix Resolution (tar): 7.5.4

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

Fix Resolution (tar): 7.5.4

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2026-59873

Vulnerable Libraries - tar-7.4.3.tgz, tar-6.2.1.tgz

tar-7.4.3.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-7.4.3.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ tar-7.4.3.tgz (Vulnerable Library)

tar-6.2.1.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-pre-gyp-1.0.11.tgz
      • ❌ tar-6.2.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

node-tar is a tar archive manipulation library for Node.js. Prior to 7.5.19, node-tar does not enforce hard upper bounds on total decompressed data, entry counts, or decompression ratio in extraction and parsing paths such as src/extract.ts, allowing a small crafted gzip bomb to exhaust disk space and CPU. This issue is fixed in version 7.5.19.

Publish Date: 2026-07-08

URL: CVE-2026-59873

CVSS 3 Score Details (8.6)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Changed
  • 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: GHSA-23hp-3jrh-7fpw

Release Date: 2026-07-08

Fix Resolution (tar): 7.5.19

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

Fix Resolution (tar): 7.5.19

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2026-24842

Vulnerable Libraries - tar-7.4.3.tgz, tar-6.2.1.tgz

tar-7.4.3.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-7.4.3.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ tar-7.4.3.tgz (Vulnerable Library)

tar-6.2.1.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-pre-gyp-1.0.11.tgz
      • ❌ tar-6.2.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

node-tar,a Tar for Node.js, contains a vulnerability in versions prior to 7.5.7 where the security check for hardlink entries uses different path resolution semantics than the actual hardlink creation logic. This mismatch allows an attacker to craft a malicious TAR archive that bypasses path traversal protections and creates hardlinks to arbitrary files outside the extraction directory. Version 7.5.7 contains a fix for the issue.

Publish Date: 2026-01-28

URL: CVE-2026-24842

CVSS 3 Score Details (8.2)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2026-01-28

Fix Resolution (tar): 7.5.7

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

Fix Resolution (tar): 7.5.7

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2026-93748

Vulnerable Library - http-cache-semantics-4.1.1.tgz

Library home page: https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • make-fetch-happen-14.0.3.tgz
        • ❌ http-cache-semantics-4.1.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

http-cache-semantics through 4.2.0 fails to properly validate security-zeroed cache entries when processing client max-stale directives, allowing unauthenticated attackers to retrieve cached responses belonging to other users. Attackers can request the same URL with a large max-stale value to obtain another user's Set-Cookie session credentials from shared-cache entries that were deliberately zeroed for security reasons.

Publish Date: 2026-09-18

URL: CVE-2026-93748

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

For more information on CVSS3 Scores, click here.

CVE-2026-73566

Vulnerable Libraries - tar-6.2.1.tgz, tar-7.4.3.tgz

tar-6.2.1.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-pre-gyp-1.0.11.tgz
      • ❌ tar-6.2.1.tgz (Vulnerable Library)

tar-7.4.3.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-7.4.3.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ tar-7.4.3.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

node-tar is a tar archive manipulation library for Node.js. Prior to 7.5.21, node-tar's filesFilter in src/list.ts uses the recursive mapHas helper to walk an archive entry path upward with path.dirname() and no segment cap when tar.t(...) or tar.x(...) receives a non-empty member-selection list. A crafted GNU L or PAX x long-path header with thousands of slash-separated segments reaches this.filter(entry.path, entry) in Parser[CONSUMEHEADER] in src/parse.ts before Unpack[CHECKPATH] applies maxDepth, causing an uncatchable RangeError stack overflow that terminates asynchronous and streaming Node.js consumers. This issue is fixed in version 7.5.21.

Publish Date: 2026-08-13

URL: CVE-2026-73566

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: GHSA-r292-9mhp-454m

Release Date: 2026-08-13

Fix Resolution (tar): 7.5.21

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

Fix Resolution (tar): 7.5.21

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2026-69152

Vulnerable Library - brace-expansion-2.0.1.tgz

Brace expansion as known from sh/bash

Library home page: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • glob-10.4.5.tgz
        • minimatch-9.0.5.tgz
          • ❌ brace-expansion-2.0.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.18, 2.1.4, 3.0.6, and 5.0.9, expand() does not apply maxLength while constructing comma-alternative intermediate arrays or padded sequences, allowing attacker-controlled input to exhaust memory or block the event loop. The fix for CVE-2026-14257 is bypassed by the vulnerability. This issue is fixed in versions 1.1.18, 2.1.4, 3.0.6, and 5.0.9.

Publish Date: 2026-08-03

URL: CVE-2026-69152

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: GHSA-rgw5-rvv9-x895

Release Date: 2026-08-03

Fix Resolution: brace-expansion - 2.1.4

CVE-2026-59874

Vulnerable Libraries - tar-7.4.3.tgz, tar-6.2.1.tgz

tar-7.4.3.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-7.4.3.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ tar-7.4.3.tgz (Vulnerable Library)

tar-6.2.1.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-pre-gyp-1.0.11.tgz
      • ❌ tar-6.2.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

node-tar is a tar archive manipulation library for Node.js. Prior to 7.5.18, tar.replace accepts a checksum-valid tar header with a negative base-256 encoded entry size, causing the archive scanner to make no progress while repeatedly parsing the same header. This issue is fixed in version 7.5.18.

Publish Date: 2026-07-08

URL: CVE-2026-59874

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: GHSA-8x88-c5mf-7j5w

Release Date: 2026-07-08

Fix Resolution (tar): 7.5.18

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

Fix Resolution (tar): 7.5.18

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2026-27904

Vulnerable Library - minimatch-9.0.5.tgz

Library home page: https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • make-fetch-happen-14.0.3.tgz
        • cacache-19.0.1.tgz
          • glob-10.4.5.tgz
            • ❌ minimatch-9.0.5.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. Prior to version 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.4, nested "()" extglobs produce regexps with nested unbounded quantifiers (e.g. "(?:(?:a|b))"), which exhibit catastrophic backtracking in V8. With a 12-byte pattern "(((a|b)))" and an 18-byte non-matching input, "minimatch()" stalls for over 7 seconds. Adding a single nesting level or a few input characters pushes this to minutes. This is the most severe finding: it is triggered by the default "minimatch()" API with no special options, and the minimum viable pattern is only 12 bytes. The same issue affects "+()" extglobs equally. Versions 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.4 fix the issue.

Publish Date: 2026-02-26

URL: CVE-2026-27904

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: GHSA-23c5-xmqv-rm74

Release Date: 2026-02-26

Fix Resolution (minimatch): 9.0.7

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2026-27903

Vulnerable Library - minimatch-9.0.5.tgz

Library home page: https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • make-fetch-happen-14.0.3.tgz
        • cacache-19.0.1.tgz
          • glob-10.4.5.tgz
            • ❌ minimatch-9.0.5.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. Prior to version 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.3, "matchOne()" performs unbounded recursive backtracking when a glob pattern contains multiple non-adjacent "**" (GLOBSTAR) segments and the input path does not match. The time complexity is O(C(n, k)) -- binomial -- where "n" is the number of path segments and "k" is the number of globstars. With k=11 and n=30, a call to the default "minimatch()" API stalls for roughly 5 seconds. With k=13, it exceeds 15 seconds. No memoization or call budget exists to bound this behavior. Any application where an attacker can influence the glob pattern passed to "minimatch()" is vulnerable. The realistic attack surface includes build tools and task runners that accept user-supplied glob arguments (ESLint, Webpack, Rollup config), multi-tenant systems where one tenant configures glob-based rules that run in a shared process, admin or developer interfaces that accept ignore-rule or filter configuration as globs, and CI/CD pipelines that evaluate user-submitted config files containing glob patterns. An attacker who can place a crafted pattern into any of these paths can stall the Node.js event loop for tens of seconds per invocation. The pattern is 56 bytes for a 5-second stall and does not require authentication in contexts where pattern input is part of the feature. Versions 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.3 fix the issue.

Publish Date: 2026-02-26

URL: CVE-2026-27903

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: GHSA-7r86-cg39-jmmj

Release Date: 2026-02-26

Fix Resolution: minimatch - 9.0.7

CVE-2026-26996

Vulnerable Library - minimatch-9.0.5.tgz

Library home page: https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • make-fetch-happen-14.0.3.tgz
        • cacache-19.0.1.tgz
          • glob-10.4.5.tgz
            • ❌ minimatch-9.0.5.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. Versions prior to 10.2.1, 3.1.3, 4.2.4, 5.1.7, 6.2.1, 7.4.7, 8.0.5, and 9.0.6 are vulnerable to Regular Expression Denial of Service (ReDoS) when a glob pattern contains many consecutive * wildcards followed by a literal character that doesn't appear in the test string. Each * compiles to a separate [^/]*? regex group, and when the match fails, V8's regex engine backtracks exponentially across all possible splits. The time complexity is O(4^N) where N is the number of * characters. With N=15, a single minimatch() call takes ~2 seconds. With N=34, it hangs effectively forever. Any application that passes user-controlled strings to minimatch() as the pattern argument is vulnerable to DoS.
This issue has been fixed in versions 10.2.1, 3.1.3, 4.2.4, 5.1.7, 6.2.1, 7.4.7, 8.0.5, and 9.0.6.
Mend Note: The description of this vulnerability differs from MITRE.

Publish Date: 2026-02-20

URL: CVE-2026-26996

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: GHSA-3ppc-4f35-3m26

Release Date: 2026-02-20

Fix Resolution: minimatch - 9.0.6

CVE-2026-14257

Vulnerable Library - brace-expansion-2.0.1.tgz

Brace expansion as known from sh/bash

Library home page: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • glob-10.4.5.tgz
        • minimatch-9.0.5.tgz
          • ❌ brace-expansion-2.0.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

brace-expansion through 5.0.7 is vulnerable to denial of service via memory exhaustion. The expand() function limits the number of results with a max option (default 100,000) but does not bound the length of each result string. By chaining multiple brace groups, an attacker keeps the result count under the limit while making each result progressively longer, so total memory scales with both count and string length until the process hits a fatal, uncatchable out-of-memory error. About 7.5 KB of input ('{a,b}'.repeat(1500)) crashes a default Node.js process. Any application that passes attacker-influenced strings to brace-expansion.expand() - directly or transitively via minimatch / glob brace patterns - can be crashed by a small request. Fixed in 5.0.8 by adding a maxLength option (default 4,000,000) that bounds accumulated output and intermediate arrays.

Publish Date: 2026-07-23

URL: CVE-2026-14257

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: GHSA-mh99-v99m-4gvg

Release Date: 2026-07-23

Fix Resolution: brace-expansion - 2.1.3

CVE-2026-13149

Vulnerable Library - brace-expansion-2.0.1.tgz

Brace expansion as known from sh/bash

Library home page: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • glob-10.4.5.tgz
        • minimatch-9.0.5.tgz
          • ❌ brace-expansion-2.0.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

brace-expansion through 5.0.6 is vulnerable to denial of service. The expand() function exhibits exponential-time complexity in the number of consecutive non-expanding '{}' brace groups. An attacker who passes a crafted string to expand(), directly or transitively, can cause significant CPU consumption and event-loop blocking. The max option does not mitigate this, as it bounds the output size rather than the recursion work.

Publish Date: 2026-06-30

URL: CVE-2026-13149

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: GHSA-3jxr-9vmj-r5cp

Release Date: 2026-06-30

Fix Resolution: brace-expansion - 2.1.2

CVE-2026-102278

Vulnerable Library - brace-expansion-2.0.1.tgz

Brace expansion as known from sh/bash

Library home page: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • glob-10.4.5.tgz
        • minimatch-9.0.5.tgz
          • ❌ brace-expansion-2.0.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.20, 2.1.6, 3.0.8, and 5.0.11, deeply nested brace groups cause expand_() to recurse once per nesting level at comma-member and single-set expansion sites, exhausting the native stack before output limits can apply and potentially terminating the Node.js process. expand_ performs uncontrolled recursion for nested brace alternatives and single-part sets. deeply nested brace groups supplied as an untrusted pattern. expand_ is affected. expand is affected. Comma members is affected. Single set is affected. native stack exhaustion during nested sub-expansion. process-terminating denial of service. This issue is fixed in versions 1.1.20, 2.1.6, 3.0.8, and 5.0.11.

Publish Date: 2026-09-28

URL: CVE-2026-102278

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

Release Date: 2026-09-28

Fix Resolution (brace-expansion): 2.1.6

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2026-102276

Vulnerable Library - brace-expansion-2.0.1.tgz

Brace expansion as known from sh/bash

Library home page: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • glob-10.4.5.tgz
        • minimatch-9.0.5.tgz
          • ❌ brace-expansion-2.0.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to 1.1.19, 2.1.5, 3.0.7, and 5.0.10, crafted brace patterns can exhaust the native stack in parseCommaParts because parseCommaParts recursively processes the remainder once per brace group and uses push.apply to pass every element of a very large comma-part array as a function argument. Patterns containing many comma-separated brace groups trigger the recursive path, while the large array triggers the argument-array path without deep recursion. These paths cause recursive and argument-array native stack exhaustion before max or maxLength can limit output, potentially terminating the Node.js process in a process-terminating denial of service. This issue is fixed in versions 1.1.19, 2.1.5, 3.0.7, and 5.0.10.

Publish Date: 2026-09-28

URL: CVE-2026-102276

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

Release Date: 2026-09-28

Fix Resolution (brace-expansion): 2.1.5

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2025-64756

Vulnerable Library - glob-10.4.5.tgz

Library home page: https://registry.npmjs.org/glob/-/glob-10.4.5.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ glob-10.4.5.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

Glob matches files using patterns the shell uses. Starting in version 10.2.0 and prior to versions 10.5.0 and 11.1.0, the glob CLI contains a command injection vulnerability in its -c/--cmd option that allows arbitrary command execution when processing files with malicious names. When glob -c are used, matched filenames are passed to a shell with shell: true, enabling shell metacharacters in filenames to trigger command injection and achieve arbitrary code execution under the user or CI account privileges. This issue has been patched in versions 10.5.0 and 11.1.0.
Mend Note: The description of this vulnerability differs from MITRE.

Publish Date: 2025-11-17

URL: CVE-2025-64756

CVSS 3 Score Details (7.5)

Base Score Metrics:

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-5j98-mcp5-4vw2

Release Date: 2025-11-17

Fix Resolution (glob): 10.5.0

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2026-31802

Vulnerable Libraries - tar-7.4.3.tgz, tar-6.2.1.tgz

tar-7.4.3.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-7.4.3.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ tar-7.4.3.tgz (Vulnerable Library)

tar-6.2.1.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-pre-gyp-1.0.11.tgz
      • ❌ tar-6.2.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

node-tar is a full-featured Tar for Node.js. Prior to version 7.5.11, tar (npm) can be tricked into creating a symlink that points outside the extraction directory by using a drive-relative symlink target such as C:../../../target.txt, which enables file overwrite outside cwd during normal tar.x() extraction. This vulnerability is fixed in 7.5.11.

Publish Date: 2026-03-09

URL: CVE-2026-31802

CVSS 3 Score Details (7.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Local
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Changed
  • 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-9ppj-qmqm-q256

Release Date: 2026-03-09

Fix Resolution: tar - 7.5.11

CVE-2026-29786

Vulnerable Libraries - tar-6.2.1.tgz, tar-7.4.3.tgz

tar-6.2.1.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-pre-gyp-1.0.11.tgz
      • ❌ tar-6.2.1.tgz (Vulnerable Library)

tar-7.4.3.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-7.4.3.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ tar-7.4.3.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

node-tar is a full-featured Tar for Node.js. Prior to version 7.5.10, tar can be tricked into creating a hardlink that points outside the extraction directory by using a drive-relative link target such as C:../target.txt, which enables file overwrite outside cwd during normal tar.x() extraction. This issue has been patched in version 7.5.10.

Publish Date: 2026-03-07

URL: CVE-2026-29786

CVSS 3 Score Details (7.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Local
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: High
    • Availability Impact: Low

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-qffp-2rhf-9h96

Release Date: 2026-03-06

Fix Resolution: tar - 7.5.10

CVE-2026-26960

Vulnerable Libraries - tar-7.4.3.tgz, tar-6.2.1.tgz

tar-7.4.3.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-7.4.3.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ tar-7.4.3.tgz (Vulnerable Library)

tar-6.2.1.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-pre-gyp-1.0.11.tgz
      • ❌ tar-6.2.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

node-tar is a full-featured Tar for Node.js. When using default options in versions 7.5.7 and below, an attacker-controlled archive can create a hardlink inside the extraction directory that points to a file outside the extraction root, enabling arbitrary file read and write as the extracting user. Severity is high because the primitive bypasses path protections and turns archive extraction into a direct filesystem access primitive. This issue has been fixed in version 7.5.8.

Publish Date: 2026-02-20

URL: CVE-2026-26960

CVSS 3 Score Details (7.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Local
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: High
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-83g3-92jg-28cx

Release Date: 2026-02-18

Fix Resolution (tar): 7.5.8

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

Fix Resolution (tar): 7.5.8

Direct dependency fix Resolution (canvas): 3.0.0-rc1b

In order to enable automatic remediation, please create workflow rules

CVE-2026-23745

Vulnerable Libraries - tar-7.4.3.tgz, tar-6.2.1.tgz

tar-7.4.3.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-7.4.3.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • ❌ tar-7.4.3.tgz (Vulnerable Library)

tar-6.2.1.tgz

Library home page: https://registry.npmjs.org/tar/-/tar-6.2.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-pre-gyp-1.0.11.tgz
      • ❌ tar-6.2.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

node-tar is a Tar for Node.js. The node-tar library (<= 7.5.2) fails to sanitize the linkpath of Link (hardlink) and SymbolicLink entries when preservePaths is false (the default secure behavior). This allows malicious archives to bypass the extraction root restriction, leading to Arbitrary File Overwrite via hardlinks and Symlink Poisoning via absolute symlink targets. This vulnerability is fixed in 7.5.3.

Publish Date: 2026-01-16

URL: CVE-2026-23745

CVSS 3 Score Details (7.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Local
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-8qq5-rm4j-mr97

Release Date: 2026-01-16

Fix Resolution: tar - 7.5.3

CVE-2026-33750

Vulnerable Library - brace-expansion-2.0.1.tgz

Brace expansion as known from sh/bash

Library home page: https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz

Sample Path to Dependency File: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • canvas-2.11.2.tgz (Root Library)
    • node-gyp-11.1.0.tgz
      • glob-10.4.5.tgz
        • minimatch-9.0.5.tgz
          • ❌ brace-expansion-2.0.1.tgz (Vulnerable Library)

Found in base branch: dev

Vulnerability Details

The brace-expansion library generates arbitrary strings containing a common prefix and suffix. Prior to versions 5.0.5, 3.0.2, 2.0.3, and 1.1.13, a brace pattern with a zero step value (e.g., "{1..2..0}") causes the sequence generation loop to run indefinitely, making the process hang for seconds and allocate heaps of memory. Versions 5.0.5, 3.0.2, 2.0.3, and 1.1.13 fix the issue. As a workaround, sanitize strings passed to "expand()" to ensure a step value of "0" is not used.

Publish Date: 2026-03-27

URL: CVE-2026-33750

CVSS 3 Score Details (6.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • 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: GHSA-f886-m6hf-6m8v

Release Date: 2026-03-27

Fix Resolution: brace-expansion - 2.0.3


In order to enable automatic remediation for this issue, please create workflow rules

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions