# CVE-2025-65026: GO-2025-4139 - esm.sh CDN service has JS Template Literal Injection in CSS-to-JavaScript in github.com/esm-dev/esm.sh

Source: https://junglewise.ai/threats/cve-2025-65026-esm-sh-cdn-service-has-js-template-literal-injection-in-css-to  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2025-11-19  
License: CC BY 4.0 with a link back

CVE-2025-65026 · Severity: medium · CVSS 6.1 · Published 2025-11-19

esm.sh is a nobuild content delivery network(CDN) for modern web development. Prior to version 136, The esm.sh CDN service contains a Template Literal Injection vulnerability (CWE-94) in its CSS-to-JavaScript module conversion feature. When a CSS file is requested with the ?module query parameter, esm.sh converts it to a JavaScript module by embedding the CSS content directly into a template literal without proper sanitization. An attacker can inject malicious JavaScript code using ${...} expressions within CSS files, which will execute when the module is imported by victim applications. This enables Cross-Site Scripting (XSS) in browsers and Remote Code Execution (RCE) in Electron applications. This issue has been patched in version 136.

Technologies: [github.com/esm-dev/esm.sh (Go)](https://junglewise.ai/threats/technologies/github-com-esm-dev-esm-sh). Vendors: [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is CVE-2025-65026 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2025-65026 being exploited in the wild.

**How severe is CVE-2025-65026?** Medium severity, with a CVSS score of 6.1, published 19 November 2025.

**Which products and versions are affected?** github.com/esm-dev/esm.sh (Go) SEMVER:introduced=0,fixed=0.0.0-20251118065157-87d2f6497574.

**Is there a fix for CVE-2025-65026?** Yes. github.com/esm-dev/esm.sh (Go): upgrade to 0.0.0-20251118065157-87d2f6497574 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2025-65026?** Check whether you run Esm.Sh or github.com/esm-dev/esm.sh (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/esm-dev/esm.sh (Go): upgrade to 0.0.0-20251118065157-87d2f6497574 or later

  ```sh
  go get github.com/esm-dev/esm.sh@v0.0.0-20251118065157-87d2f6497574
  ```


## Affected products

- Esm.Sh
- github.com/esm-dev/esm.sh (Go) SEMVER:introduced=0,fixed=0.0.0-20251118065157-87d2f6497574

## Identifiers

- CVE-2025-65026
- GHSA-hcpf-qv9m-vfgp
- GO-2025-4139

## Related threats

- [esm-dev esm.sh path traversal in package.json browser field](https://junglewise.ai/threats/cve-2026-44594-esm-dev-esm-sh-path-traversal-in-package-json-browser-field)
- [esm.sh path traversal in legacy router leads to arbitrary file write](https://junglewise.ai/threats/cve-2026-44593-esm-sh-path-traversal-in-legacy-router-leads-to-arbitrary-file)
- [GO-2026-4554 - esm.sh has SSRF localhost/private-network bypass in `/http(s)` module route in github.com/esm-dev/esm.sh](https://junglewise.ai/threats/cve-2026-27730-esm-sh-has-ssrf-localhost-private-network-bypass-in-http-s-module)
- [GO-2026-4332 - esm.sh has a path traversal in extractPackageTarball enables file writes from malicious packages](https://junglewise.ai/threats/cve-2026-23644-esm-sh-has-a-path-traversal-in-extractpackagetarball-enables-file)
- [GO-2026-4545 - esm.sh is vulnerable to full-response SSRF in github.com/esm-dev/esm.sh](https://junglewise.ai/threats/cve-2025-50180-esm-sh-is-vulnerable-to-full-response-ssrf)
