GitHub Advisoryadvisory · npm

GHSA-4233-jc72-56c5 Astro: Netlify Image CDN allowlist bypass enables SSRF

MEDIUM Published 2026-09-30 Modified 2026-09-30 Official page ↗
Aliases
CVE-2026-102983
Ecosystem
npm
Packages
@astrojs/netlify
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Weaknesses
CWE-625, CWE-918
Reviewed
2026-09-30

Affected packages

• npm @astrojs/netlify: >= 5.2.0, < 8.2.4 → fixed in 8.2.4

Description

Summary The `@astrojs/netlify` adapter generated regular expressions for Netlify Image CDN remote-image allowlists without anchoring them to the beginning of the URL. Netlify evaluates these expressions with `RegExp.test()`, so an allowed image origin appearing anywhere in a URL, including its path or query string, could satisfy the allowlist. For example, an application allowing `images.example.com` could accept a source URL such as: ```text http://127.0.0.1:6379/?url=https://images.example.com/image.png ``` The allowlist matched the approved origin in the query string, but Netlify parsed and fetched the URL whose actual host was `127.0.0.1`. Impact An unauthenticated attacker can bypass the configured `image.domains` or `image.remotePatterns` allowlist through the public `/.netlify/images` endpoint and cause Netlify Image CDN to make requests to attacker-selected URLs. This may allow probing or reaching internal services, depending on Netlify's network-level egress protections. The Image CDN attempts to transform responses as images, which limits direct response exfiltration. No confidentiality or integrity impact has been demonstrated. Affected versions `@astrojs/netlify` versions from 5.2.0 through 8.2.3. Patches Fixed in `@astrojs/netlify` 8.2.4. Generated remote-image allowlist expressions are now anchored to both the beginning and end of the source URL. Workarounds Upgrade to `@astrojs/netlify` 8.2.4 or later. Before upgrading, disable Netlify Image CDN by setting `imageCDN: false` in the adapter configuration, or remove remote image allowlist entries. Credits Reported by @pacocartones.

Related

Alias · CVE (1)

  • CVE-2026-102983 Astro is a web framework for content-driven websites. vulnerability

Weakness · CWE (2)

  • CWE-625 Permissive Regular Expression weakness
  • CWE-918 Server-Side Request Forgery weakness

References