asymmetric-effort/specifyjs · Security
@asymmetric-effort/specifyjs: No redirect target validation in secureFetch
- GHSA ID
- GHSA-j5qp-p44g-2m49
- Severity
- medium
- Published
- Updated
- CVSS v4
- 6.9 · 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
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.
CWEs
- CWE-918 · Server-Side Request Forgery (SSRF)