What’s Vulnerable › Vulnerabilities
CVE-2025-65026: esm.sh CDN service has JS Template Literal Injection in CSS-to-JavaScript
- Severity: critical (CVSS 9.6 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2025-11-19 · updated 2026-10-18
- Weakness: CWE-94
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 products
- esm-dev esm.sh: before 136 — fixed in 136
How to fix
Upgrade to a fixed version: esm-dev esm.sh 136. Check the vendor advisory for mitigations.
References
- https://github.com/esm-dev/esm.sh/commit/87d2f6497574bf4448641a5527a3ac2beba5fd6c
- https://github.com/esm-dev/esm.sh/security/advisories/GHSA-hcpf-qv9m-vfgp
- https://github.com/esm-dev/esm.sh/security/advisories/GHSA-hcpf-qv9m-vfgp
Get alerted when CVE-2025-65026 or the next vulnerability affects your stack