Description
esm.sh is a no-build content delivery network (CDN) for web development. Prior to Go pseeudoversion 0.0.0-20260116051925-c62ab83c589e, the software has a path traversal vulnerability due to an incomplete fix. `path.Clean` normalizes a path but does not prevent absolute paths in a malicious tar file. Commit https://github.com/esm-dev/esm.sh/commit/9d77b88c320733ff6689d938d85d246a3af9af16, corresponding to pseudoversion 0.0.0-20260116051925-c62ab83c589e, fixes this issue.
Published: 2026-01-18
Score: 7.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Arbitrary file write via path traversal leading to potential remote code execution.
Action: Immediate patch
AI Analysis

Impact

esm.sh, a no-build CDN for web development, suffered a path traversal flaw in its extractPackageTarball routine. The flaw allowed a malicious tar archive to specify absolute paths, which the service would normalize but still write to disk. An attacker could embed such a tar in a package served through the CDN, causing the server to write arbitrary files. The vulnerability permits unauthorized file modification on the hosting infrastructure, compromising the integrity and confidentiality of the CDN’s contents. The likely attack vector is the delivery of a malicious package containing a tar with absolute paths; this inference is drawn from the described behavior, though the CVE text does not explicitly state the delivery mechanism.

Affected Systems

The affected product is esm-dev's esm.sh running any v0.x release before the Go pseudoversion 0.0.0-20260116051925-c62ab83c589e. All instances of the CDN using earlier versions are susceptible.

Risk and Exploitability

The CVSS score of 7.7 indicates a high severity vulnerability, but the EPSS score is under 1%, denoting a very low current exploitation probability. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an attacker to provide a malicious package to the CDN; once the tar archive is processed, the path traversal allows arbitrary file writes. Because the flaw involves a file write, the risk extends to the confidentiality and integrity of the CDN’s file system, potentially enabling remote code execution if sufficient privileges exist. The combination of a high CVSS with a low EPSS suggests that while the vulnerability is dangerous, active exploitation is presently unlikely, but the patch should be applied promptly to mitigate future risk.

Generated by OpenCVE AI on April 18, 2026 at 05:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade esm.sh to the patched version v0.0.0-20260116051925-c62ab83c589e or newer.
  • If an upgrade is delayed, restrict the extraction process so that it rejects absolute paths or limits write permissions on extracted files.
  • Monitor CDN logs for attempts to write files in unexpected locations or for unusual tar uploads, and alert on such events.

Generated by OpenCVE AI on April 18, 2026 at 05:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-2657-3c98-63jq esm.sh has a path traversal in extractPackageTarball enables file writes from malicious packages
History

Wed, 18 Feb 2026 16:15:00 +0000

Type Values Removed Values Added
First Time appeared Esm
Esm esm.sh
CPEs cpe:2.3:a:esm:esm.sh:*:*:*:*:*:*:*:*
Vendors & Products Esm
Esm esm.sh
Metrics cvssV3_1

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


Tue, 20 Jan 2026 21:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Mon, 19 Jan 2026 09:45:00 +0000

Type Values Removed Values Added
First Time appeared Esm-dev
Esm-dev esmsh
Vendors & Products Esm-dev
Esm-dev esmsh

Sun, 18 Jan 2026 23:00:00 +0000

Type Values Removed Values Added
Description esm.sh is a no-build content delivery network (CDN) for web development. Prior to Go pseeudoversion 0.0.0-20260116051925-c62ab83c589e, the software has a path traversal vulnerability due to an incomplete fix. `path.Clean` normalizes a path but does not prevent absolute paths in a malicious tar file. Commit https://github.com/esm-dev/esm.sh/commit/9d77b88c320733ff6689d938d85d246a3af9af16, corresponding to pseudoversion 0.0.0-20260116051925-c62ab83c589e, fixes this issue.
Title esm.sh has path traversal in `extractPackageTarball` that enables file writes from malicious packages
Weaknesses CWE-22
References
Metrics cvssV4_0

{'score': 7.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:P'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-01-20T20:06:58.947Z

Reserved: 2026-01-14T16:08:37.484Z

Link: CVE-2026-23644

cve-icon Vulnrichment

Updated: 2026-01-20T20:04:09.482Z

cve-icon NVD

Status : Analyzed

Published: 2026-01-18T23:15:48.547

Modified: 2026-02-18T16:10:48.287

Link: CVE-2026-23644

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-18T05:30:25Z

Weaknesses