{"id":"CVE-2026-102983","revision":"a79eedcecbf9477a8ca1af0d168372ef","records":[{"revision":"a79eedcecbf9477a8ca1af0d168372ef","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-102983","aliases":[],"title":"Astro: Netlify Image CDN allowlist bypass enables SSRF","description":"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.","state":0,"publishedAt":"2026-09-30T14:32:03.861+00:00","modifiedAt":"2026-09-30T16:24:47.048+00:00","affected":[{"ecosystem":"Vendor product","name":"astro","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"withastro\",\n                    \"product\": \"astro\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 5.2.0, < 8.2.4\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"netlify","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"@astrojs\",\n                    \"product\": \"netlify\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 5.2.0, < 8.2.4\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 4.0","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","score":6.3,"severity":"MEDIUM"}],"references":["https://github.com/withastro/astro/security/advisories/GHSA-4233-jc72-56c5","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"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-102983","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-102983","identifiers":["CVE-2026-102983"]},"retained":false,"historicalAffected":[]}],"coverage":[]}