CVE-2026-2741

Zip Slip Path Traversal on Node Unpack

Published Mar 10, 2026 CVSS 4.0 · 2.3 Low EPSS < 1% KEV · Not listed
Description
Specially crafted ZIP archives can escape the intended extraction directory during Node.js download and extraction in Vaadin 14.2.0 through 14.14.0, 15.0.0 through 23.6.6, 24.0.0 through 24.9.8, and 25.0.0 through 25.0.2.

Vaadin’s build process can automatically download and extract Node.js if it is not installed locally. If an attacker can intercept or control this download via DNS hijacking, a MITM attack, a compromised mirror, or a supply chain attack, they can serve a malicious archive containing path traversal sequences that write files outside the intended extraction directory.


Users of affected versions should use a globally preinstalled Node.js version compatible with their Vaadin version, or upgrade as follows: 14.2.0-14.14.0 to 14.14.1, 15.0.0-23.6.6 to 23.6.7, 24.0.0-24.9.8 to 24.9.9, and 25.0.0-25.0.2 to 25.0.3 or newer.

Please note that Vaadin versions 10-13 and 15-22 are no longer supported and you should update either to the latest 14, 23, 24, 25 version.

Analysis

AI-generated

Technical impact

A specially crafted ZIP archive can escape the intended extraction directory when Vaadin automatically downloads and unpacks Node.js. If an attacker can supply the archive—for example, via DNS hijacking, a MITM attack, a compromised mirror, or a supply‑chain compromise—they can write files outside the expected directory, potentially overwriting build artifacts or inserting malicious code. This allows arbitrary file creation or modification inside the Vaadin project workspace, which could compromise confidentiality, integrity, or execution of the build.

Affected Systems

The vulnerability affects Vaadin Flow for versions 14.2.0 through 14.14.0, 15.0.0 through 23.6.6, 24.0.0 through 24.9.8, and 25.0.0 through 25.0.2. Vaadin versions 10‑13 and 15‑22 are no longer supported, and users should consider updating to the latest supported releases of 14, 23, 24, or 25.

Risk and Exploitability

The CVSS score of 2.3 indicates low severity, and the EPSS score of less than 1 % shows a very small probability of exploitation. The vulnerability is not listed in CISA’s KEV catalog. Exploitation requires an attacker to control the Node.js archive download, which can happen through DNS hijacking, a MITM attack, a compromised mirror, or a supply‑chain compromise. When such an attack vector exists, the path‑traversal could enable writing arbitrary files during the build process, potentially leading to code injection or privilege escalation within the build environment.

Remediation

Vendor Solution

Users of affected versions should apply the following mitigation or upgrade.


Vendor Workaround

Use a globally preinstalled Node.js that is compatible with the Vaadin version instead of relying on Vaadin's automatic Node.js download.


OpenCVE Recommended Actions

  • Upgrade Vaadin Flow to a fixed release—upgrade from 14.2.0‑14.14.0 to 14.14.1, from 15.0.0‑23.6.6 to 23.6.7, from 24.0.0‑24.9.8 to 24.9.9, or from 25.0.0‑25.0.2 to 25.0.3 or newer.
  • If an upgrade is not immediately possible, install a globally preinstalled Node.js version that is compatible with your Vaadin Flow release and configure the build to use that local Node.js binary, thereby preventing Vaadin from auto‑downloading and extracting the ZIP archive.
  • Secure the network and package delivery channels by enforcing DNSSEC, validating TLS certificates, and ensuring that any mirrors or caches used to fetch Node.js archives are authenticated and originate from trusted sources.

Generated by OpenCVE AI on April 16, 2026 at 03:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-8jrh-7jg8-fvmv Vaadin: Specially crafted ZIP archives can escape the intended extraction directory
History
Type Values Removed Values Added
First Time appeared Vaadin vaadin
CPEs cpe:2.3:a:vaadin:vaadin:*:*:*:*:*:*:*:*
Vendors & Products Vaadin vaadin
Metrics cvssV3_1

{'score': 2.6, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:N/I:N/A:L'}

cvssV3_1

{'score': 6.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N'}

Type Values Removed Values Added
Description Specially crafted ZIP archives can escape the intended extraction directory during Node.js download and extraction in Vaadin 14.2.0 through 14.14.0, 23.0.0 through 23.6.6, 24.0.0 through 24.9.8, and 25.0.0 through 25.0.2. Vaadin’s build process can automatically download and extract Node.js if it is not installed locally. If an attacker can intercept or control this download via DNS hijacking, a MITM attack, a compromised mirror, or a supply chain attack, they can serve a malicious archive containing path traversal sequences that write files outside the intended extraction directory. Users of affected versions should use a globally preinstalled Node.js version compatible with their Vaadin version, or upgrade as follows: 14.2.0-14.14.0 to 14.14.1, 23.0.0-23.6.6 to 23.6.7, 24.0.0-24.9.8 to 24.9.9, and 25.0.0-25.0.2 to 25.0.3 or newer. Please note that Vaadin versions 10-13 and 15-22 are no longer supported and you should update either to the latest 14, 23, 24, 25 version. Specially crafted ZIP archives can escape the intended extraction directory during Node.js download and extraction in Vaadin 14.2.0 through 14.14.0, 15.0.0 through 23.6.6, 24.0.0 through 24.9.8, and 25.0.0 through 25.0.2. Vaadin’s build process can automatically download and extract Node.js if it is not installed locally. If an attacker can intercept or control this download via DNS hijacking, a MITM attack, a compromised mirror, or a supply chain attack, they can serve a malicious archive containing path traversal sequences that write files outside the intended extraction directory. Users of affected versions should use a globally preinstalled Node.js version compatible with their Vaadin version, or upgrade as follows: 14.2.0-14.14.0 to 14.14.1, 15.0.0-23.6.6 to 23.6.7, 24.0.0-24.9.8 to 24.9.9, and 25.0.0-25.0.2 to 25.0.3 or newer. Please note that Vaadin versions 10-13 and 15-22 are no longer supported and you should update either to the latest 14, 23, 24, 25 version.
Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 2.6, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:N/I:N/A:L'}

threat_severity

Low

Type Values Removed Values Added
First Time appeared Vaadin
Vaadin flow
Vendors & Products Vaadin
Vaadin flow
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Specially crafted ZIP archives can escape the intended extraction directory during Node.js download and extraction in Vaadin 14.2.0 through 14.14.0, 23.0.0 through 23.6.6, 24.0.0 through 24.9.8, and 25.0.0 through 25.0.2. Vaadin’s build process can automatically download and extract Node.js if it is not installed locally. If an attacker can intercept or control this download via DNS hijacking, a MITM attack, a compromised mirror, or a supply chain attack, they can serve a malicious archive containing path traversal sequences that write files outside the intended extraction directory. Users of affected versions should use a globally preinstalled Node.js version compatible with their Vaadin version, or upgrade as follows: 14.2.0-14.14.0 to 14.14.1, 23.0.0-23.6.6 to 23.6.7, 24.0.0-24.9.8 to 24.9.9, and 25.0.0-25.0.2 to 25.0.3 or newer. Please note that Vaadin versions 10-13 and 15-22 are no longer supported and you should update either to the latest 14, 23, 24, 25 version.
Title Zip Slip Path Traversal on Node Unpack
Weaknesses CWE-22
References
Metrics cvssV4_0

{'score': 2.3, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/S:N/AU:N/R:U/V:D/RE:L/U:Amber'}

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Sources

Status
PUBLISHED
Assigner
Vaadin
Published
Updated
Mar 16, 2026, 10:52 AM
Reserved
Feb 19, 2026, 11:59 AM
Status
Analyzed
Published
Mar 10, 2026, 6:18 PM
Modified
Jun 17, 2026, 10:31 AM
Severity
Low
Public date
Mar 10, 2026, 12:08 PM