esm.sh CDN service has JS Template Literal Injection in CSS-to-JavaScript
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2025-65026
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 15:24 UTC · Revision 1
Source evidence
esm.sh CDN service has JS Template Literal Injection in CSS-to-JavaScript
core-osv · Original sourcePublished 19 Nov 2025, 17:33 UTC
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.
osv:CVE-2025-65026
Complete source record
{
"id": "19aed04c2418ad3ec1c8f63cccaf4abd3376c52fcb7c1ee8a2fe2a7202589b56",
"url": "https://osv.dev/vulnerability/CVE-2025-65026",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "esm.sh CDN service has JS Template Literal Injection in CSS-to-JavaScript",
"summary": "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.",
"evidence": "osv:CVE-2025-65026",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2025-65026",
"aliases": [
"CVE-2025-65026",
"GHSA-hcpf-qv9m-vfgp",
"GO-2025-4139"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/esm-dev/esm.sh",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "1ad31b6352bb0a064ece812f6f360e4850e16051"
},
{
"fixed": "87d2f6497574bf4448641a5527a3ac2beba5fd6c"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:esm:esm.sh:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "136"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "87d2f6497574bf4448641a5527a3ac2beba5fd6c"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"v135_1",
"v135",
"v134",
"v133",
"v132",
"v131",
"v130",
"v129",
"v128",
"v127",
"v126",
"v125",
"v124",
"v123",
"v122",
"v121",
"v120",
"v119",
"v117",
"v116",
"v115",
"v114",
"v113",
"v112",
"v111",
"v110",
"v109",
"v108",
"v107",
"v106",
"v105",
"v104",
"v103",
"v102",
"v101",
"v100",
"v99",
"v98",
"v97",
"v96",
"v95",
"v94",
"v93",
"v92",
"v91",
"v90",
"v89",
"v88",
"v87",
"v86",
"v85",
"v84",
"v83",
"v82",
"v81",
"v80",
"v79",
"v78",
"v77",
"v76",
"v75",
"v74",
"v73",
"v72",
"v71",
"v70",
"v69",
"v68",
"v67",
"v66",
"v65",
"v64",
"v63",
"v62",
"v61",
"v60",
"v59",
"v57",
"v56",
"v55",
"v53",
"v52",
"v51",
"v50",
"v49",
"v47",
"v46",
"v45",
"v44",
"v43",
"v41",
"v40",
"v39",
"v38",
"v37",
"v35",
"v34"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-65026.json"
}
}
],
"modified": "2026-10-28T02:30:29.738943122Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/65xxx/CVE-2025-65026.json",
"https://github.com/esm-dev/esm.sh/security/advisories/GHSA-hcpf-qv9m-vfgp",
"https://nvd.nist.gov/vuln/detail/CVE-2025-65026",
"https://github.com/esm-dev/esm.sh/commit/87d2f6497574bf4448641a5527a3ac2beba5fd6c"
],
"provider_metadata": {
"cwe_ids": [
"CWE-94"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/65xxx/CVE-2025-65026.json"
}
},
"related_cves": [
{
"value": "CVE-2025-65026",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 496791,
"published_at": "2025-11-19T17:33:11.469+00:00"
}