CVE-2026-102983
Astro: Netlify Image CDN allowlist bypass enables SSRF
Impact
Astro is a web framework for content-driven websites. From 5.2.0 until 8.2.4, the @astrojs/netlify adapter generates regular expressions for Netlify Image CDN remote-image allowlists without anchoring them to the beginning of the URL. Because Netlify evaluates these expressions with RegExp.test(), an allowed origin appearing only in a source URL's path or query can satisfy image.domains or image.remotePatterns while the URL's actual host remains attacker-controlled. An unauthenticated request to the public /.netlify/images endpoint can therefore cause the Image CDN to request attacker-selected URLs and may probe or reach internal services. Netlify egress protections may constrain reachable targets, and image transformation limits direct response exfiltration; no confidentiality or integrity impact has been demonstrated. This issue is fixed in version 8.2.4.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @astrojs/netlify | >= 5.2.0, <= 8.2.3 | 8.2.4 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-4233-jc72-56c5
- https://github.com/withastro/astro/security/advisories/GHSA-4233-jc72-56c5
- https://nvd.nist.gov/vuln/detail/CVE-2026-102983
- https://github.com/withastro/astro/pull/17752
- https://github.com/withastro/astro/commit/e362d4cf540b27730482455c8fc02efe57d16702
- https://github.com/withastro/astro/releases/tag/@astrojs/netlify@8.2.4