GitHub Advisoryadvisory · npm
GHSA-j5qp-p44g-2m49 @asymmetric-effort/specifyjs: No redirect target validation in secureFetch
MEDIUM
Official page ↗
- Ecosystem
- npm
- Packages
- @asymmetric-effort/specifyjs
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-918
- Reviewed
- 2026-07-02
Affected packages
• npm @asymmetric-effort/specifyjs: < 0.2.136 → fixed in 0.2.136
Description
Finding
Location: `core/src/shared/secure-fetch.ts`
`assertSecureUrl` validated only the initial request URL. The `fetch()` API follows redirects by default (up to 20 hops). A request to a valid `https://` URL could redirect to `http://internal-service/` or other unvalidated destinations.
Status
Fixed in v0.2.136 — `secureFetch` now defaults to `redirect: 'error'` which rejects any redirect. Callers can override with `{ redirect: 'follow' }` if they trust the target.
Related
Weakness · CWE (1)
- CWE-918 Server-Side Request Forgery weakness