{"id":"GHSA-xw57-23p8-9wc5","title":"@asymmetric-effort/specifyjs: Localhost bypass incomplete (IPv6, 0.0.0.0, 127.x range)","summary":"@asymmetric-effort/specifyjs: Localhost bypass incomplete (IPv6, 0.0.0.0, 127.x range)","severity":"medium","cwe":["CWE-918"],"vendor":"asymmetric-effort","product":"@asymmetric-effort/specifyjs","ecosystem":"npm","affected":["@asymmetric-effort/specifyjs < 0.2.136"],"patched":["@asymmetric-effort/specifyjs 0.2.136"],"published":"2026-07-02","updated":"2026-07-02","source":"GHSA","sourceUrl":"https://github.com/advisories/GHSA-xw57-23p8-9wc5","references":[{"url":"https://github.com/asymmetric-effort/specifyjs/security/advisories/GHSA-xw57-23p8-9wc5"},{"url":"https://github.com/asymmetric-effort/specifyjs/commit/25d1fb491d99479efdf501f5f75e0bb80c908f0a"},{"url":"https://github.com/asymmetric-effort/specifyjs/commit/293124c51bf797c0f5cdae32981110545850a893"},{"url":"https://github.com/advisories/GHSA-xw57-23p8-9wc5"}],"tags":["ghsa","npm"],"ingestedAt":"2026-07-02T19:41:50.958Z","slug":"GHSA-xw57-23p8-9wc5","body":"## Overview\n\n## Finding\n\n**Location**: `core/src/shared/secure-fetch.ts:52-54`\n\nThe localhost exception allowed `localhost` and `127.0.0.1` but did not cover `0.0.0.0`, `[::1]` (IPv6 localhost), or the full `127.0.0.0/8` loopback range.\n\n## Status\n\n**Fixed in v0.2.136** — Localhost detection now covers `localhost`, `127.0.0.1`, `[::1]`, `0.0.0.0`, and the full `127.x.x.x` range.\n\n## Affected packages\n\n- `@asymmetric-effort/specifyjs < 0.2.136`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `@asymmetric-effort/specifyjs 0.2.136`","depth":"sunlit","depthScore":28,"depthScoreParts":{"impact":27.5,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}