Skip to content
Heist/ feed
Back to feed
High

esm.sh has SSRF localhost/private-network bypass in `/http(s)` module route

Type: advisorySources: OSV

esm.sh is a no-build content delivery network (CDN) for web development. Versions up to and including 137 have an SSRF vulnerability (CWE-918) in esm.sh’s `/http(s)` fetch route. The service tries to block localhost/internal targets, but the validation is based on hostname string checks and can be bypassed using DNS alias domains. This allows an external requester to make the esm.sh server fetch internal localhost services. As of time of publication, no known patched versions exist.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-27730
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 19:28 UTC · Revision 1

Source evidence

esm.sh has SSRF localhost/private-network bypass in `/http(s)` module route

core-osv · Original source

Published 25 Feb 2026, 15:37 UTC

esm.sh is a no-build content delivery network (CDN) for web development. Versions up to and including 137 have an SSRF vulnerability (CWE-918) in esm.sh’s `/http(s)` fetch route. The service tries to block localhost/internal targets, but the validation is based on hostname string checks and can be bypassed using DNS alias domains. This allows an external requester to make the esm.sh server fetch internal localhost services. As of time of publication, no known patched versions exist.

osv:CVE-2026-27730
Complete source record
{
  "id": "40d7814e7373f2a63268804762688823cfc58a185db0d647df7b08a34ca2b88d",
  "url": "https://osv.dev/vulnerability/CVE-2026-27730",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "esm.sh has SSRF localhost/private-network bypass in `/http(s)` module route",
    "summary": "esm.sh is a no-build content delivery network (CDN) for web development. Versions up to and including 137 have an SSRF vulnerability (CWE-918) in esm.sh’s `/http(s)` fetch route. The service tries to block localhost/internal targets, but the validation is based on hostname string checks and can be bypassed using DNS alias domains. This allows an external requester to make the esm.sh server fetch internal localhost services. As of time of publication, no known patched versions exist.",
    "evidence": "osv:CVE-2026-27730",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-27730",
      "aliases": [
        "CVE-2026-27730",
        "GHSA-p2v6-84h2-5x4r",
        "GO-2026-4554"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/esm-dev/esm.sh",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "2ff321d847219cf2c8152efeea3a20a72ee80f64"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "137"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:esm:esm.sh:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "137"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v137",
            "v136_1",
            "v136",
            "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-2026-27730.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:38.896193442Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27730.json",
        "https://github.com/esm-dev/esm.sh/security/advisories/GHSA-p2v6-84h2-5x4r",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-27730"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27730.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-27730",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 506168,
  "published_at": "2026-02-25T15:37:01.753+00:00"
}