CVE-2026-73425
@astrojs/netlify generates an overly-broad Netlify Image CDN allowlist because remotePatterns.pathname metacharacters are not escaped
Impact
Astro is a web framework for content-driven websites. Prior to 8.1.2, the Astro Netlify adapter converts each image.remotePatterns entry into a regular expression written to .netlify/v1/config.json under images.remote_images for Netlify's Image CDN allowlist. In packages/integrations/netlify/src/index.ts, remotePatternToRegex() escapes dots in hostname values but interpolates literal pathname values without escaping regular expression metacharacters such as ., +, ?, (, and [, so a restrictive pathname such as /img/v1.0/file also matches metacharacter-adjacent paths, including paths that cross a segment. Netlify enforces the generated regular expression directly and Astro's matchPattern() helper does not revalidate the request, allowing optimization of images on an already-allowed host that the declared pathname was intended to exclude. This issue is fixed in version 8.1.2.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @astrojs/netlify | < 8.1.2 | 8.1.2 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-hp3v-mfqw-h74c
- https://github.com/withastro/astro/security/advisories/GHSA-hp3v-mfqw-h74c
- https://github.com/withastro/astro/pull/17018
- https://github.com/advisories/GHSA-529g-xq4f-cw38
- https://nvd.nist.gov/vuln/detail/CVE-2026-73425
- https://github.com/withastro/astro/pull/17368
- https://github.com/withastro/astro/commit/ee74c289bfe32fb6a7f59ed97c5c22db16394b72
- https://github.com/withastro/astro/releases/tag/@astrojs/netlify@8.1.2