CVE-2026-44593: esm.sh: Legacy Route Path Traversal Can Lead to RCE
esm.sh is a no-build content delivery network (CDN) for web development. In 137 and earlier, the legacy router first retrieves a response from legacyServer, parses the incoming request path, and ultimately writes the data to storage via buildStorage.Put. The router concatenates the path components without sanitizing them, producing a storage key. When this key is used, the underlying file system resolves the relative segments and writes the file to the specified path. Thus an attacker can craft a request that writes data to arbitrary locations on the server.
Security readout for executives and security teams
Plain-English summary
CVE-2026-44593 lets an unauthenticated internet attacker make vulnerable esm.sh servers write files outside the intended storage path. That arbitrary write can lead to remote code execution depending on where files land and how the server runs.
Executive priority
Treat this as high priority for any team running esm.sh infrastructure. The business risk is server compromise from an unauthenticated network path, but urgency should be scoped to confirmed deployments of affected versions.
Technical view
The legacy esm.sh router in versions 137 and earlier builds a storage key by concatenating unsanitized request path components. Relative path segments are resolved by the underlying filesystem when buildStorage.Put writes data, creating CWE-22 path traversal with arbitrary file write impact.
Likely exposure
Exposure is most likely for organizations operating self-hosted or managed esm.sh server deployments at version 137 or earlier, especially if the legacy route is internet reachable. The supplied sources do not establish direct exposure for ordinary downstream users consuming packages from esm.sh.
Exploitation context
The CVSS 4.0 score is 8.7 with network access, low complexity, no privileges, and no user interaction required. The sources do not cite active exploitation, and the CVE is not marked KEV. RCE is a potential consequence of arbitrary server-side file write.
Researcher notes
Evidence supports a path traversal to arbitrary file write in the legacy router. The advisory description links impact to buildStorage.Put and filesystem path resolution. Public sources provided do not include exploit-in-the-wild evidence or detailed fixed-release information beyond the affected range.
Mitigation direction
Inventory esm.sh deployments and identify any running version 137 or earlier.
Review the GitHub advisory for fixed-version and upgrade guidance.
Restrict public access to affected legacy routing until remediation is complete.
Review file permissions so the service cannot write to sensitive runtime paths.
Validation and detection
Confirm deployed esm.sh versions against the affected range: 137 and earlier.
Check whether legacy routing is enabled and reachable from untrusted networks.
Review server logs for unusual legacy-route requests or unexpected storage writes.
Inspect writable directories for unexpected files created by the esm.sh service account.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-22: File access and web shell behavior lookup
File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
The CVE wording references file access or upload behavior, so file telemetry and web shell review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.