ZeroHour

CVE-2024-48914

niche

Unauthenticated Path Traversal File Read in Vendure Asset Server Plugin

CVSS 3.1
9.1 critical
EPSS
60%p99
Published
()
Modified
AI analysis

CVE-2024-48914 is an unauthenticated path traversal flaw (CWE-22, CWE-20) in the asset server plugin of Vendure, an open-source headless commerce platform, with an additional denial-of-service vector in the same code path via a malformed URI. An attacker triggers it by sending a crafted request to the asset-serving endpoint whose URL contains traversal sequences (e.g., '/../'), requiring no privileges or user interaction (AV:N/AC:L/PR:N/UI:N). Successful exploitation lets the attacker read the contents of arbitrary files on the server, including configuration files and environment variables that may contain secrets, and can also crash the server (CVSS 3.1: 9.1 critical, C:H/A:H). Vendure deployments running the asset server plugin with versions prior to 3.0.5 (3.x series) or 2.3.3 (2.x series) are affected, while instances using object storage such as S3 or MinIO instead of the local file system are not exposed to the traversal. No public proof-of-concept or confirmed in-the-wild exploitation is known and it is not in CISA KEV, but the 60.4% EPSS score (99th percentile) indicates a high probability of exploitation within the next 30 days.

What to do: Upgrade to Vendure 3.0.5 (3.x line) or 2.3.3 (2.x line). If patching is delayed, either move asset storage to object storage such as S3 or MinIO, or add middleware that detects and blocks asset requests whose URLs contain '/../'. Also review server logs for traversal-pattern asset requests and, if arbitrary file reads are suspected, rotate secrets contained in environment variables and configuration files.

Affected
Vendure headless commerce platform (asset server plugin, 3.x series)prior to 3.0.5
Vendure headless commerce platform (asset server plugin, 2.x series)prior to 2.3.3
Estimated exposure
nichelikely on the order of a few thousand self-hosted deployments at most (estimate; no published install counts), limited to instances running the asset server… — No install telemetry is present in the data; Vendure is a relatively niche, self-hosted open-source Node.js commerce framework rather than a mass-market platform, and only deployments using the asset server plugin with local filesystem…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Vendure is an open-source headless commerce platform. Prior to versions 3.0.5 and 2.3.3, a vulnerability in Vendure's asset server plugin allows an attacker to craft a request which is able to traverse the server file system and retrieve the contents of arbitrary files, including sensitive data such as configuration files, environment variables, and other critical data stored on the server. In the same code path is an additional vector for crashing the server via a malformed URI. Patches are available in versions 3.0.5 and 2.3.3. Some workarounds are also available. One may use object storage rather than the local file system, e.g. MinIO or S3, or define middleware which detects and blocks requests with urls containing `/../`.

Weakness
CWE-20, CWE-22
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

In the news

No ingested article mentions this CVE yet.