CVE-2026-27730 json
esm.sh has SSRF localhost/private-network bypass in `/http(s)` module route
published 2026-02-25 8 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-8685 , GHSA-p2v6-84h2-5x4r , GO-2026-4554
- cvss
- 8.6
- version 3.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 32%
- public exploits
- 0
- none known
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.
Patch / fix
- go github.com/esm-dev/esm.sh 0.0.0-20250616164159-0593516c4cfa
- govulncheck-vulndb openSUSE Leap 15.6 0.0.20260317T205859-150000.1.152.1
suse advisories SUSE-SU-2026:1042-1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
- github.com/esm-dev/esm.sh@0593516 commit
- github.com/esm-dev/esm.sh#1149 pull request
- github.com/esm-dev/esm.sh/releases/tag/v137 release
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 8 mo ago
Exploit prediction
0.39% chance of exploitation in the next 30 days, higher than 32% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/esm-dev/esm.sh/security/advisories/GHSA-p2v6-84h2-5x4r referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.0 | 8.6 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N |
| GitHub | 3.0 | 8.6 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/esm-dev/esm.sh | <0.0.0-20250616164159-0593516c4cfa |
0.0.0-20250616164159-0593516c4cfa |
Affected products
- esm-dev esm.sh
Classification
- Weakness
-
- CWE-918 Server-Side Request Forgery
References
-
github.com
/esm-dev/esm.sh/pull/1149
web, patch
-
github.com
/esm-dev/esm.sh/commit/0593516c4cfab49ad3b4900416a8432ff2e23eb0
web, patch
-
github.com
/esm-dev/esm.sh/security/advisories/GHSA-p2v6-84h2-5x4r
web, exploit, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-27730
advisory
-
github.com
/esm-dev/esm.sh
package
-
github.com
/esm-dev/esm.sh/releases/tag/v137
web
Sources
- CVE List CVE-2026-27730
- GitHub Advisory GHSA-p2v6-84h2-5x4r
- NVD CVE-2026-27730
- OSV GO-2026-4554
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.