Vulnerability · Published Nov 19, 2025 · Assigned by GitHub_M
CVE-2025-65026esm.sh CDN service has JS Template Literal Injection in CSS-to-JavaScript
Medium 6.1
In plain English
A medium-severity code injection in esm.sh from esm-dev. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 44% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Go | github.com/esm-dev/esm.sh | 0.0.0-20251118065157-87d2f6497574 | GHSA-hcpf-qv9m-vfgp |
| Go | github.com/esm-dev/esm.sh | 0.0.0-20251118065157-87d2f6497574 | GO-2025-4139 |
Affected products (as reported)
Weakness: CWE-94 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N