Skip to content
Heist/ feed
Back to feed
High

esm.sh CDN service has arbitrary file write via tarslip

Type: advisorySources: OSV

esm.sh is a nobuild content delivery network(CDN) for modern web development. Prior to version 136, the esm.sh CDN service is vulnerable to path traversal during NPM package tarball extraction. An attacker can craft a malicious NPM package containing specially crafted file paths (e.g., package/../../tmp/evil.js). When esm.sh downloads and extracts this package, files may be written to arbitrary locations on the server, escaping the intended extraction directory. This issue has been patched in version 136.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-65025
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 23:03 UTC · Revision 1

Source evidence

esm.sh CDN service has arbitrary file write via tarslip

core-osv · Original source

Published 19 Nov 2025, 17:32 UTC

esm.sh is a nobuild content delivery network(CDN) for modern web development. Prior to version 136, the esm.sh CDN service is vulnerable to path traversal during NPM package tarball extraction. An attacker can craft a malicious NPM package containing specially crafted file paths (e.g., package/../../tmp/evil.js). When esm.sh downloads and extracts this package, files may be written to arbitrary locations on the server, escaping the intended extraction directory. This issue has been patched in version 136.

osv:CVE-2025-65025
Complete source record
{
  "id": "60c5d97030aba217b689200b68f0e1399c8a1275a8c7759b051c924685dc9df2",
  "url": "https://osv.dev/vulnerability/CVE-2025-65025",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "esm.sh CDN service has arbitrary file write via tarslip",
    "summary": "esm.sh is a nobuild content delivery network(CDN) for modern web development. Prior to version 136, the esm.sh CDN service is vulnerable to path traversal during NPM package tarball extraction. An attacker can craft a malicious NPM package containing specially crafted file paths (e.g., package/../../tmp/evil.js). When esm.sh downloads and extracts this package, files may be written to arbitrary locations on the server, escaping the intended extraction directory. This issue has been patched in version 136.",
    "evidence": "osv:CVE-2025-65025",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-65025",
      "aliases": [
        "CVE-2025-65025",
        "GHSA-h3mw-4f23-gwpw",
        "GO-2025-4138"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/esm-dev/esm.sh",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "1ad31b6352bb0a064ece812f6f360e4850e16051"
                },
                {
                  "fixed": "9d77b88c320733ff6689d938d85d246a3af9af16"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:esm:esm.sh:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "136"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "9d77b88c320733ff6689d938d85d246a3af9af16"
                      }
                    ],
                    "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-65025.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:40.189606810Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/65xxx/CVE-2025-65025.json",
        "https://github.com/esm-dev/esm.sh/security/advisories/GHSA-h3mw-4f23-gwpw",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-65025",
        "https://github.com/esm-dev/esm.sh/commit/9d77b88c320733ff6689d938d85d246a3af9af16"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/65xxx/CVE-2025-65025.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-65025",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 507801,
  "published_at": "2025-11-19T17:32:46.835+00:00"
}