CVE-2026-73425 json
@astrojs/netlify generates an overly-broad Netlify Image CDN allowlist because remotePatterns.pathname metacharacters are not escaped
published 2026-07-20 3 mo ago modified 2026-10-24 16 d ago also EUVD-2026-57610 , GHSA-hp3v-mfqw-h74c
- cvss
- 3.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm @astrojs/netlify 8.1.2
- astro @astrojs/netlify 8.1.2
- github.com/withastro/astro@ee74c28 commit
- github.com/withastro/astro#17018 pull request
- github.com/withastro/astro#17368 pull request
- github.com/withastro/astro/releases/tag/@astrojs/netlify@8.1.2 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N |
| GitHub | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @astrojs/netlify | <8.1.2 |
8.1.2 |
Affected products
- withastro astro
Classification
- Weakness
-
- CWE-185 Incorrect Regular Expression
References
-
github.com
/withastro/astro/pull/17018
web
-
github.com
/withastro/astro/pull/17368
web
-
github.com
/withastro/astro/commit/ee74c289bfe32fb6a7f59ed97c5c22db16394b72
web
-
github.com
/withastro/astro/security/advisories/GHSA-hp3v-mfqw-h74c
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-73425
advisory
-
github.com
/advisories/GHSA-529g-xq4f-cw38
advisory
-
github.com
/withastro/astro
package
-
github.com
/withastro/astro/releases/tag/@astrojs/netlify@8.1.2
web
Sources
- CVE List CVE-2026-73425
- GitHub Advisory GHSA-hp3v-mfqw-h74c
- NVD CVE-2026-73425
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.