---
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'
---

## Overview

## Finding

**Location**: `core/src/shared/secure-fetch.ts:52-54`

The 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.

## Status

**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.

## Affected packages

- `@asymmetric-effort/specifyjs < 0.2.136`

## Remediation

Upgrade to a patched release:

- `@asymmetric-effort/specifyjs 0.2.136`
