Skip to content

@storm-stack/core-0.47.0.tgz: 48 vulnerabilities (highest severity is: 9.8) #197

@mend-bolt-for-github

Description

@mend-bolt-for-github
Vulnerable Library - @storm-stack/core-0.47.0.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Vulnerabilities

Vulnerability Severity CVSS Dependency Type Fixed in (@storm-stack/core version) Remediation Possible**
CVE-2026-33937 Critical 9.8 handlebars-4.7.8.tgz Transitive N/A*
CVE-2026-27606 Critical 9.1 detected in multiple dependencies Transitive N/A*
CVE-2025-12816 High 8.6 node-forge-1.3.1.tgz Transitive 0.48.0
CVE-2026-33941 High 8.2 handlebars-4.7.8.tgz Transitive N/A*
CVE-2026-4800 High 8.1 lodash-4.17.21.tgz Transitive N/A*
CVE-2026-33940 High 8.1 handlebars-4.7.8.tgz Transitive N/A*
CVE-2026-33938 High 8.1 handlebars-4.7.8.tgz Transitive N/A*
CVE-2026-4867 High 7.5 path-to-regexp-0.1.12.tgz Transitive N/A*
CVE-2026-39364 High 7.5 vite-7.1.5.tgz Transitive N/A*
CVE-2026-39363 High 7.5 detected in multiple dependencies Transitive N/A*
CVE-2026-33939 High 7.5 handlebars-4.7.8.tgz Transitive N/A*
CVE-2026-33895 High 7.5 node-forge-1.3.1.tgz Transitive N/A*
CVE-2026-33894 High 7.5 node-forge-1.3.1.tgz Transitive N/A*
CVE-2026-33891 High 7.5 node-forge-1.3.1.tgz Transitive N/A*
CVE-2026-33671 High 7.5 detected in multiple dependencies Transitive N/A*
CVE-2026-22775 High 7.5 devalue-5.3.2.tgz Transitive 0.48.0
CVE-2026-22774 High 7.5 devalue-5.3.2.tgz Transitive 0.48.0
CVE-2025-66031 High 7.5 node-forge-1.3.1.tgz Transitive 0.48.0
CVE-2025-64756 High 7.5 detected in multiple dependencies Transitive 0.48.0
CVE-2026-33896 High 7.4 node-forge-1.3.1.tgz Transitive N/A*
CVE-2025-13465 High 7.2 lodash-4.17.21.tgz Transitive N/A*
CVE-2025-64764 High 7.1 astro-5.14.1.tgz Transitive N/A*
CVE-2026-2950 Medium 6.5 lodash-4.17.21.tgz Transitive 0.48.0
CVE-2025-69874 Medium 6.5 nanotar-0.2.0.tgz Transitive N/A*
CVE-2025-66202 Medium 6.5 astro-5.14.1.tgz Transitive N/A*
CVE-2025-64525 Medium 6.5 astro-5.14.1.tgz Transitive 0.48.0
CVE-2025-62522 Medium 6.5 detected in multiple dependencies Transitive N/A*
CVE-2025-61925 Medium 6.5 astro-5.14.1.tgz Transitive 0.48.0
CVE-2026-34043 Medium 5.9 serialize-javascript-6.0.2.tgz Transitive N/A*
CVE-2025-65019 Medium 5.4 detected in multiple dependencies Transitive 0.48.0
CVE-2026-39365 Medium 5.3 detected in multiple dependencies Transitive N/A*
CVE-2026-33769 Medium 5.3 astro-5.14.1.tgz Transitive 0.48.0
CVE-2026-33672 Medium 5.3 detected in multiple dependencies Transitive N/A*
CVE-2026-24001 Medium 5.3 diff-5.2.0.tgz Transitive N/A*
CVE-2025-66400 Medium 5.3 mdast-util-to-hast-13.2.0.tgz Transitive N/A*
CVE-2025-66030 Medium 5.3 node-forge-1.3.1.tgz Transitive 0.48.0
CVE-2025-64765 Medium 5.3 astro-5.14.1.tgz Transitive N/A*
CVE-2025-64718 Medium 5.3 js-yaml-4.1.0.tgz Transitive N/A*
CVE-2026-33916 Medium 4.7 handlebars-4.7.8.tgz Transitive N/A*
CVE-2026-33532 Medium 4.3 yaml-1.10.2.tgz Transitive N/A*
CVE-2026-30226 Low 3.7 devalue-5.3.2.tgz Transitive 0.48.0
CVE-2026-2391 Low 3.7 qs-6.13.0.tgz Transitive 0.48.0
CVE-2025-68458 Low 3.7 webpack-5.102.0.tgz Transitive 0.48.0
CVE-2025-68157 Low 3.7 webpack-5.102.0.tgz Transitive 0.48.0
CVE-2025-15284 Low 3.7 qs-6.13.0.tgz Transitive 0.48.0
CVE-2025-64757 Low 3.5 astro-5.14.1.tgz Transitive N/A*
CVE-2025-69873 Low 2.9 detected in multiple dependencies Transitive N/A*
CVE-2025-64745 Low 2.7 astro-5.14.1.tgz Transitive 0.48.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

Partial details (18 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-33937

Vulnerable Library - handlebars-4.7.8.tgz

Library home page: https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • handlebars-4.7.8.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, "Handlebars.compile()" accepts a pre-parsed AST object in addition to a template string. The "value" field of a "NumberLiteral" AST node is emitted directly into the generated JavaScript without quoting or sanitization. An attacker who can supply a crafted AST to "compile()" can therefore inject and execute arbitrary JavaScript, leading to Remote Code Execution on the server. Version 4.7.9 fixes the issue. Some workarounds are available. Validate input type before calling "Handlebars.compile()"; ensure the argument is always a "string", never a plain object or JSON-deserialized value. Use the Handlebars runtime-only build ("handlebars/runtime") on the server if templates are pre-compiled at build time; "compile()" will be unavailable.

Publish Date: 2026-03-27

URL: CVE-2026-33937

CVSS 3 Score Details (9.8)

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2026-03-27

Fix Resolution: https://github.com/handlebars-lang/handlebars.js.git - v4.7.9

Step up your Open Source Security Game with Mend here

CVE-2026-27606

Vulnerable Libraries - rollup-4.52.2.tgz, rollup-4.52.3.tgz

rollup-4.52.2.tgz

Next-generation ES module bundler

Library home page: https://registry.npmjs.org/rollup/-/rollup-4.52.2.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • rollup-plugin-typescript2-0.36.0.tgz
      • rollup-4.52.2.tgz (Vulnerable Library)

rollup-4.52.3.tgz

Next-generation ES module bundler

Library home page: https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • rollup-4.52.3.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Rollup is a module bundler for JavaScript. Versions prior to 2.80.0, 3.30.0, and 4.59.0 of the Rollup module bundler (specifically v4.x and present in current source) is vulnerable to an Arbitrary File Write via Path Traversal. Insecure file name sanitization in the core engine allows an attacker to control output filenames (e.g., via CLI named inputs, manual chunk aliases, or malicious plugins) and use traversal sequences ("../") to overwrite files anywhere on the host filesystem that the build process has permissions for. This can lead to persistent Remote Code Execution (RCE) by overwriting critical system or user configuration files. Versions 2.80.0, 3.30.0, and 4.59.0 contain a patch for the issue.

Publish Date: 2026-02-25

URL: CVE-2026-27606

CVSS 3 Score Details (9.1)

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2026-02-25

Fix Resolution: https://github.com/rollup/rollup.git - v2.80.0,https://github.com/rollup/rollup.git - v3.30.0,https://github.com/rollup/rollup.git - v4.59.0

Step up your Open Source Security Game with Mend here

CVE-2025-12816

Vulnerable Library - node-forge-1.3.1.tgz

JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.

Library home page: https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • cli-1.5.8.tgz
      • dev-server-1.1.4.tgz
        • webpack-dev-server-5.2.2.tgz
          • selfsigned-2.4.1.tgz
            • node-forge-1.3.1.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

An interpretation-conflict (CWE-436) vulnerability in node-forge versions 1.3.1 and earlier enables unauthenticated attackers to craft ASN.1 structures to desynchronize schema validations, yielding a semantic divergence that may bypass downstream cryptographic verifications and security decisions.

Publish Date: 2025-11-25

URL: CVE-2025-12816

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-5gfm-wpxj-wjgq

Release Date: 2025-11-25

Fix Resolution (node-forge): 1.3.2

Direct dependency fix Resolution (@storm-stack/core): 0.48.0

Step up your Open Source Security Game with Mend here

CVE-2026-33941

Vulnerable Library - handlebars-4.7.8.tgz

Library home page: https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • handlebars-4.7.8.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, the Handlebars CLI precompiler ("bin/handlebars" / "lib/precompiler.js") concatenates user-controlled strings — template file names and several CLI options — directly into the JavaScript it emits, without any escaping or sanitization. An attacker who can influence template filenames or CLI arguments can inject arbitrary JavaScript that executes when the generated bundle is loaded in Node.js or a browser. Version 4.7.9 fixes the issue. Some workarounds are available. First, validate all CLI inputs before invoking the precompiler. Reject filenames and option values that contain characters with JavaScript string-escaping significance (""", "'", ";", etc.). Second, use a fixed, trusted namespace string passed via a configuration file rather than command-line arguments in automated pipelines. Third, run the precompiler in a sandboxed environment (container with no write access to sensitive paths) to limit the impact of successful exploitation. Fourth, audit template filenames in any repository or package that is consumed by an automated build pipeline.

Publish Date: 2026-03-27

URL: CVE-2026-33941

CVSS 3 Score Details (8.2)

Base Score Metrics:

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

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2026-03-27

Fix Resolution: https://github.com/handlebars-lang/handlebars.js.git - v4.7.9

Step up your Open Source Security Game with Mend here

CVE-2026-4800

Vulnerable Library - lodash-4.17.21.tgz

Lodash modular utilities.

Library home page: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • api-extractor-7.52.11.tgz
      • lodash-4.17.21.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Impact:
The fix for CVE-2021-23337 (GHSA-35jh-r3h4-6jhm) added validation for the variable option in _.template but did not apply the same validation to options.imports key names. Both paths flow into the same Function() constructor sink.
When an application passes untrusted input as options.imports key names, an attacker can inject default-parameter expressions that execute arbitrary code at template compilation time.
Additionally, _.template uses assignInWith to merge imports, which enumerates inherited properties via for..in. If Object.prototype has been polluted by any other vector, the polluted keys are copied into the imports object and passed to Function().
Patches:
Users should upgrade to version 4.18.0.
Workarounds:
Do not pass untrusted input as key names in options.imports. Only use developer-controlled, static key names.

Publish Date: 2026-03-31

URL: CVE-2026-4800

CVSS 3 Score Details (8.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: None
    • 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-r5fr-rjxr-66jc

Release Date: 2026-03-31

Fix Resolution: lodash-amd - 4.18.0,lodash.template - 4.18.0,lodash-es - 4.18.0,lodash - 4.18.0

Step up your Open Source Security Game with Mend here

CVE-2026-33940

Vulnerable Library - handlebars-4.7.8.tgz

Library home page: https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • handlebars-4.7.8.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, a crafted object placed in the template context can bypass all conditional guards in "resolvePartial()" and cause "invokePartial()" to return "undefined". The Handlebars runtime then treats the unresolved partial as a source that needs to be compiled, passing the crafted object to "env.compile()". Because the object is a valid Handlebars AST containing injected code, the generated JavaScript executes arbitrary commands on the server. The attack requires the adversary to control a value that can be returned by a dynamic partial lookup. Version 4.7.9 fixes the issue. Some workarounds are available. First, use the runtime-only build ("require('handlebars/runtime')"). Without "compile()", the fallback compilation path in "invokePartial" is unreachable. Second, sanitize context data before rendering: Ensure no value in the context is a non-primitive object that could be passed to a dynamic partial. Third, avoid dynamic partial lookups ("{{> (lookup ...)}}") when context data is user-controlled.

Publish Date: 2026-03-27

URL: CVE-2026-33940

CVSS 3 Score Details (8.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: None
    • 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

Release Date: 2026-03-27

Fix Resolution: https://github.com/handlebars-lang/handlebars.js.git - v4.7.9

Step up your Open Source Security Game with Mend here

CVE-2026-33938

Vulnerable Library - handlebars-4.7.8.tgz

Library home page: https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • handlebars-4.7.8.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, the "@partial-block" special variable is stored in the template data context and is reachable and mutable from within a template via helpers that accept arbitrary objects. When a helper overwrites "@partial-block" with a crafted Handlebars AST, a subsequent invocation of "{{> @partial-block}}" compiles and executes that AST, enabling arbitrary JavaScript execution on the server. Version 4.7.9 fixes the issue. Some workarounds are available. First, use the runtime-only build ("require('handlebars/runtime')"). The "compile()" method is absent, eliminating the vulnerable fallback path. Second, audit registered helpers for any that write arbitrary values to context objects. Helpers should treat context data as read-only. Third, avoid registering helpers from third-party packages (such as "handlebars-helpers") in contexts where templates or context data can be influenced by untrusted input.

Publish Date: 2026-03-27

URL: CVE-2026-33938

CVSS 3 Score Details (8.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: None
    • 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

Release Date: 2026-03-27

Fix Resolution: https://github.com/handlebars-lang/handlebars.js.git - v4.7.9

Step up your Open Source Security Game with Mend here

CVE-2026-4867

Vulnerable Library - path-to-regexp-0.1.12.tgz

Express style path to RegExp utility

Library home page: https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • cli-1.5.8.tgz
      • dev-server-1.1.4.tgz
        • webpack-dev-server-5.2.2.tgz
          • express-4.21.2.tgz
            • path-to-regexp-0.1.12.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Impact:
A bad regular expression is generated any time you have three or more parameters within a single segment, separated by something that is not a period (.). For example, /:a-:b-:c or /:a-:b-:c-:d. The backtrack protection added in path-to-regexp@0.1.12 only prevents ambiguity for two parameters. With three or more, the generated lookahead does not block single separator characters, so capture groups overlap and cause catastrophic backtracking.
Patches:
Upgrade to path-to-regexp@0.1.13
Custom regex patterns in route definitions (e.g., /:a-:b([^-/]+)-:c([^-/]+)) are not affected because they override the default capture group.
Workarounds:
All versions can be patched by providing a custom regular expression for parameters after the first in a single segment. As long as the custom regular expression does not match the text before the parameter, you will be safe. For example, change /:a-:b-:c to /:a-:b([^-/]+)-:c([^-/]+).
If paths cannot be rewritten and versions cannot be upgraded, another alternative is to limit the URL length.

Publish Date: 2026-03-26

URL: CVE-2026-4867

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-37ch-88jc-xwx2

Release Date: 2026-03-26

Fix Resolution: path-to-regexp - 0.1.13

Step up your Open Source Security Game with Mend here

CVE-2026-39364

Vulnerable Library - vite-7.1.5.tgz

Native-ESM powered web dev build tool

Library home page: https://registry.npmjs.org/vite/-/vite-7.1.5.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • vite-7.1.5.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Summary The contents of files that are specified by ""server.fs.deny"" (https://vite.dev/config/server-options#server-fs-deny) can be returned to the browser. Impact Only apps that match the following conditions are affected: - explicitly exposes the Vite dev server to the network (using "--host" or ""server.host" config option" (https://vitejs.dev/config/server-options.html#server-host)) - the sensitive file exists in the allowed directories specified by ""server.fs.allow"" (https://vite.dev/config/server-options#server-fs-allow) - the sensitive file is denied with a pattern that matches a file by ""server.fs.deny"" (https://vite.dev/config/server-options#server-fs-deny) Details On the Vite dev server, files that should be blocked by "server.fs.deny" (e.g., ".env", "*.crt") can be retrieved with HTTP 200 responses when query parameters such as "?raw", "?import&raw", or "?import&url&inline" are appended. PoC 1. Start the dev server: "pnpm exec vite root --host 127.0.0.1 --port 5175 --strictPort" 2. Confirm that "server.fs.deny" is enforced (expect 403): "curl -i http://127.0.0.1:5175/src/.env | head -n 20" image 3. Confirm that the same files can be retrieved with query parameters (expect 200): image

Publish Date: 2026-04-07

URL: CVE-2026-39364

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.

Suggested Fix

Type: Upgrade version

Origin: GHSA-v2wj-q39q-566r

Release Date: 2026-04-07

Fix Resolution: vite - 7.3.2,vite - 8.0.5

Step up your Open Source Security Game with Mend here

CVE-2026-39363

Vulnerable Libraries - vite-7.1.5.tgz, vite-6.3.6.tgz

vite-7.1.5.tgz

Native-ESM powered web dev build tool

Library home page: https://registry.npmjs.org/vite/-/vite-7.1.5.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • vite-7.1.5.tgz (Vulnerable Library)

vite-6.3.6.tgz

Native-ESM powered web dev build tool

Library home page: https://registry.npmjs.org/vite/-/vite-6.3.6.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • astro-5.14.1.tgz
      • vite-6.3.6.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Summary ""server.fs"" (https://vite.dev/config/server-options#server-fs-strict) check was not enforced to the "fetchModule" method that is exposed in Vite dev server's WebSocket. Impact Only apps that match the following conditions are affected: - explicitly exposes the Vite dev server to the network (using "--host" or ""server.host" config option" (https://vitejs.dev/config/server-options.html#server-host)) - WebSocket is not disabled by "server.ws: false" Arbitrary files on the server (development machine, CI environment, container, etc.) can be exposed. Details If it is possible to connect to the Vite dev server’s WebSocket without an "Origin" header, an attacker can invoke "fetchModule" via the custom WebSocket event "vite:invoke" and combine "file://..." with "?raw" (or "?inline") to retrieve the contents of arbitrary files on the server as a JavaScript string (e.g., "export default "...""). The access control enforced in the HTTP request path (such as "server.fs.allow") is not applied to this WebSocket-based execution path. PoC 1. Start the dev server on the target Example (used during validation with this repository): pnpm -C playground/alias exec vite --host 0.0.0.0 --port 5173 2. Confirm that access is blocked via the HTTP path (example: arbitrary file) curl -i 'http://localhost:5173/@fs/etc/passwd?raw' Result: "403 Restricted" (outside the allow list) image 3. Confirm that the same file can be retrieved via the WebSocket path By connecting to the HMR WebSocket without an "Origin" header and sending a "vite:invoke" request that calls "fetchModule" with a "file://..." URL and "?raw", the file contents are returned as a JavaScript module. image image

Publish Date: 2026-04-07

URL: CVE-2026-39363

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.

Suggested Fix

Type: Upgrade version

Origin: GHSA-p9ff-h696-f583

Release Date: 2026-04-07

Fix Resolution: vite - 8.0.5,vite - 7.3.2,vite - 6.4.2

Step up your Open Source Security Game with Mend here

CVE-2026-33939

Vulnerable Library - handlebars-4.7.8.tgz

Library home page: https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • handlebars-4.7.8.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Handlebars provides the power necessary to let users build semantic templates. In versions 4.0.0 through 4.7.8, when a Handlebars template contains decorator syntax referencing an unregistered decorator (e.g. "{{n}}"), the compiled template calls "lookupProperty(decorators, "n")", which returns "undefined". The runtime then immediately invokes the result as a function, causing an unhandled "TypeError: ... is not a function" that crashes the Node.js process. Any application that compiles user-supplied templates without wrapping the call in a "try/catch" is vulnerable to a single-request Denial of Service. Version 4.7.9 fixes the issue. Some workarounds are available. Wrap compilation and rendering in "try/catch". Validate template input before passing it to "compile()"; reject templates containing decorator syntax ("{{...}}") if decorators are not used in your application. Use the pre-compilation workflow; compile templates at build time and serve only pre-compiled templates; do not call "compile()" at request time.

Publish Date: 2026-03-27

URL: CVE-2026-33939

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-03-27

Fix Resolution: https://github.com/handlebars-lang/handlebars.js.git - v4.7.9

Step up your Open Source Security Game with Mend here

CVE-2026-33895

Vulnerable Library - node-forge-1.3.1.tgz

JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.

Library home page: https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • cli-1.5.8.tgz
      • dev-server-1.1.4.tgz
        • webpack-dev-server-5.2.2.tgz
          • selfsigned-2.4.1.tgz
            • node-forge-1.3.1.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Forge (also called "node-forge") is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, Ed25519 signature verification accepts forged non-canonical signatures where the scalar S is not reduced modulo the group order ("S >= L"). A valid signature and its "S + L" variant both verify in forge, while Node.js "crypto.verify" (OpenSSL-backed) rejects the "S + L" variant, as defined by the specification. This class of signature malleability has been exploited in practice to bypass authentication and authorization logic (see CVE-2026-25793, CVE-2022-35961). Applications relying on signature uniqueness (i.e., dedup by signature bytes, replay tracking, signed-object canonicalization checks) may be bypassed. Version 1.4.0 patches the issue.

Publish Date: 2026-03-27

URL: CVE-2026-33895

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

Release Date: 2026-03-27

Fix Resolution: https://github.com/digitalbazaar/forge.git - v1.4.0

Step up your Open Source Security Game with Mend here

CVE-2026-33894

Vulnerable Library - node-forge-1.3.1.tgz

JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.

Library home page: https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • cli-1.5.8.tgz
      • dev-server-1.1.4.tgz
        • webpack-dev-server-5.2.2.tgz
          • selfsigned-2.4.1.tgz
            • node-forge-1.3.1.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Forge (also called "node-forge") is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, RSASSA PKCS#1 v1.5 signature verification accepts forged signatures for low public exponent keys (e=3). Attackers can forge signatures by stuffing “garbage” bytes within the ASN structure in order to construct a signature that passes verification, enabling Bleichenbacher style forgery. This issue is similar to CVE-2022-24771, but adds bytes in an addition field within the ASN structure, rather than outside of it. Additionally, forge does not validate that signatures include a minimum of 8 bytes of padding as defined by the specification, providing attackers additional space to construct Bleichenbacher forgeries. Version 1.4.0 patches the issue.

Publish Date: 2026-03-27

URL: CVE-2026-33894

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-ppp5-5v6c-4jwp

Release Date: 2026-03-26

Fix Resolution: node-forge - 1.4.0

Step up your Open Source Security Game with Mend here

CVE-2026-33891

Vulnerable Library - node-forge-1.3.1.tgz

JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.

Library home page: https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • cli-1.5.8.tgz
      • dev-server-1.1.4.tgz
        • webpack-dev-server-5.2.2.tgz
          • selfsigned-2.4.1.tgz
            • node-forge-1.3.1.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Forge (also called "node-forge") is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, a Denial of Service (DoS) vulnerability exists in the node-forge library due to an infinite loop in the BigInteger.modInverse() function (inherited from the bundled jsbn library). When modInverse() is called with a zero value as input, the internal Extended Euclidean Algorithm enters an unreachable exit condition, causing the process to hang indefinitely and consume 100% CPU. Version 1.4.0 patches the issue.

Publish Date: 2026-03-27

URL: CVE-2026-33891

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-03-27

Fix Resolution: https://github.com/digitalbazaar/forge.git - v1.4.0

Step up your Open Source Security Game with Mend here

CVE-2026-33671

Vulnerable Libraries - picomatch-2.3.1.tgz, picomatch-4.0.2.tgz, picomatch-4.0.3.tgz

picomatch-2.3.1.tgz

Blazing fast and accurate glob matcher written in JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.

Library home page: https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • rollup-plugin-typescript2-0.36.0.tgz
      • pluginutils-4.2.1.tgz
        • picomatch-2.3.1.tgz (Vulnerable Library)

picomatch-4.0.2.tgz

Library home page: https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • build-tools-0.157.2.tgz
      • js-21.5.3.tgz
        • picomatch-4.0.2.tgz (Vulnerable Library)

picomatch-4.0.3.tgz

Blazing fast and accurate glob matcher written in JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.

Library home page: https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • astro-5.14.1.tgz
      • picomatch-4.0.3.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Picomatch is a glob matcher written JavaScript. Versions prior to 4.0.4, 3.0.2, and 2.3.2 are vulnerable to Regular Expression Denial of Service (ReDoS) when processing crafted extglob patterns. Certain patterns using extglob quantifiers such as "+()" and "()", especially when combined with overlapping alternatives or nested extglobs, are compiled into regular expressions that can exhibit catastrophic backtracking on non-matching input. Applications are impacted when they allow untrusted users to supply glob patterns that are passed to "picomatch" for compilation or matching. In those cases, an attacker can cause excessive CPU consumption and block the Node.js event loop, resulting in a denial of service. Applications that only use trusted, developer-controlled glob patterns are much less likely to be exposed in a security-relevant way. This issue is fixed in picomatch 4.0.4, 3.0.2 and 2.3.2. Users should upgrade to one of these versions or later, depending on their supported release line. If upgrading is not immediately possible, avoid passing untrusted glob patterns to "picomatch". Possible mitigations include disabling extglob support for untrusted patterns by using "noextglob: true", rejecting or sanitizing patterns containing nested extglobs or extglob quantifiers such as "+()" and "()", enforcing strict allowlists for accepted pattern syntax, running matching in an isolated worker or separate process with time and resource limits, and applying application-level request throttling and input validation for any endpoint that accepts glob patterns.

Publish Date: 2026-03-26

URL: CVE-2026-33671

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-03-25

Fix Resolution: https://github.com/micromatch/picomatch.git - 3.0.2,https://github.com/micromatch/picomatch.git - 4.0.4,https://github.com/micromatch/picomatch.git - 2.3.2

Step up your Open Source Security Game with Mend here

CVE-2026-22775

Vulnerable Library - devalue-5.3.2.tgz

Gets the job done when JSON.stringify can't

Library home page: https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • astro-5.14.1.tgz
      • devalue-5.3.2.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Svelte devalue is a JavaScript library that serializes values into strings when JSON.stringify isn't sufficient for the job. From 5.1.0 to 5.6.1, certain inputs can cause devalue.parse to consume excessive CPU time and/or memory, potentially leading to denial of service in systems that parse input from untrusted sources. This affects applications using devalue.parse on externally-supplied data. The root cause is the ArrayBuffer hydration expecting base64 encoded strings as input, but not checking the assumption before decoding the input. This vulnerability is fixed in 5.6.2.

Publish Date: 2026-01-15

URL: CVE-2026-22775

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-g2pg-6438-jwpf

Release Date: 2026-01-15

Fix Resolution (devalue): 5.6.2

Direct dependency fix Resolution (@storm-stack/core): 0.48.0

Step up your Open Source Security Game with Mend here

CVE-2026-22774

Vulnerable Library - devalue-5.3.2.tgz

Gets the job done when JSON.stringify can't

Library home page: https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • astro-5.14.1.tgz
      • devalue-5.3.2.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Svelte devalue is a JavaScript library that serializes values into strings when JSON.stringify isn't sufficient for the job. From 5.3.0 to 5.6.1, certain inputs can cause devalue.parse to consume excessive CPU time and/or memory, potentially leading to denial of service in systems that parse input from untrusted sources. This affects applications using devalue.parse on externally-supplied data. The root cause is the typed array hydration expecting an ArrayBuffer as input, but not checking the assumption before creating the typed array. This vulnerability is fixed in 5.6.2.

Publish Date: 2026-01-15

URL: CVE-2026-22774

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-vw5p-8cq8-m7mv

Release Date: 2026-01-15

Fix Resolution (devalue): 5.6.2

Direct dependency fix Resolution (@storm-stack/core): 0.48.0

Step up your Open Source Security Game with Mend here

CVE-2025-66031

Vulnerable Library - node-forge-1.3.1.tgz

JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.

Library home page: https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

  • @storm-stack/core-0.47.0.tgz (Root Library)
    • cli-1.5.8.tgz
      • dev-server-1.1.4.tgz
        • webpack-dev-server-5.2.2.tgz
          • selfsigned-2.4.1.tgz
            • node-forge-1.3.1.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Forge (also called "node-forge") is a native implementation of Transport Layer Security in JavaScript. An Uncontrolled Recursion vulnerability in node-forge versions 1.3.1 and below enables remote, unauthenticated attackers to craft deep ASN.1 structures that trigger unbounded recursive parsing. This leads to a Denial-of-Service (DoS) via stack exhaustion when parsing untrusted DER inputs. This issue has been patched in version 1.3.2.

Publish Date: 2025-11-26

URL: CVE-2025-66031

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-554w-wpv2-vw27

Release Date: 2025-11-26

Fix Resolution (node-forge): 1.3.2

Direct dependency fix Resolution (@storm-stack/core): 0.48.0

Step up your Open Source Security Game with Mend here

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