CVE-2024-48914 Vendure asset server plugin has local file read vulnerability with AssetServerPlugin & LocalAssetStorageStrategy
Attackers can traverse the file system to read sensitive files or crash the server via malformed URIs in the Vendure asset server plugin.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-48914?
CVE-2024-48914 is a critical path traversal vulnerability in vendure-ecommerce vendure, published on 15 Oct 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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 `/../`.
Which versions are affected by CVE-2024-48914?
4 open source packages ship an affected version, including @vendure/asset-server-plugin.
| Package | Affected | Fixed in |
|---|---|---|
@vendure/asset-server-plugin npm | All versions | 2.3.3 |
@vendure/asset-server-plugin npm | All versions | 2.3.3 |
@vendure/asset-server-plugin npm | From 3.0.0 | 3.0.5 |
@vendure/asset-server-plugin npm | From 3.0.0 | 3.0.5 |
How do I fix CVE-2024-48914?
Upgrade @vendure/asset-server-plugin to a fixed version for your release line: 2.3.3 or 3.0.5.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2024-48914 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-48914 exists.
Public exploit code: 1 Nuclei template and 1 proofs of concept on GitHub.
Sources
Also known as GHSA-r9mq-3c9r-fmjq.