# CVE-2026-102983: Astro @astrojs/netlify adapter unanchored regex bypass in image allowlist

Source: https://junglewise.ai/threats/cve-2026-102983-astro-is-a-web-framework-for-content-driven-websites-from-5-2-0  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-30. Updated: 2026-09-30  
License: CC BY 4.0 with a link back

CVE-2026-102983 · Severity: medium · CVSS 4 · Published 2026-09-30

Astro's Netlify adapter for content-driven websites generates image allowlists without properly anchoring regular expressions, allowing attackers to bypass domain restrictions. An unauthenticated attacker can make the Netlify Image CDN request attacker-controlled URLs by embedding an allowed origin in a URL's path or query parameters, potentially probing internal services behind the deployment.

Technologies: [@astrojs/netlify (npm)](https://junglewise.ai/threats/technologies/astrojs-netlify). Vendors: [Astro](https://junglewise.ai/threats/vendors/astro), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-102983 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-102983 being exploited in the wild.

**How severe is CVE-2026-102983?** Medium severity, with a CVSS score of 4, published 30 September 2026.

**Which products and versions are affected?** Astro @Astrojs/Netlify 5.2.0 to 8.2.3; @astrojs/netlify (npm) >= 5.2.0, <= 8.2.3, SEMVER:introduced=5.2.0,fixed=8.2.4.

**Is there a fix for CVE-2026-102983?** Yes. @astrojs/netlify (npm): upgrade to 8.2.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-102983 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-102983?** Check whether you run Astro @Astrojs/Netlify or @astrojs/netlify (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- @astrojs/netlify (npm): upgrade to 8.2.4 or later

  ```sh
  npm install @astrojs/netlify@8.2.4
  ```


## Technical details

The @astrojs/netlify adapter fails to anchor generated regular expressions to the beginning of URLs when validating image.domains and image.remotePatterns allowlists. Since Netlify evaluates these patterns with RegExp.test() without a start-of-string anchor (^), an allowed origin appearing anywhere in the URL (including path or query) satisfies the check, leaving the actual host under attacker control. An unauthenticated POST to /.netlify/images can cause server-side request forgery against the Image CDN; exploitation is limited by Netlify egress protections and image transformation constraints.

## Affected products

- Astro @astrojs/netlify 5.2.0 to 8.2.3

## Identifiers

- CVE-2026-102983
- GHSA-4233-jc72-56c5

## Timeline

- 2026-09-30: disclosed
- 2026-08-20: patched: Fix merged in commit e362d4c

## References

- [https://github.com/withastro/astro/commit/e362d4cf540b27730482455c8fc02efe57d16702](https://github.com/withastro/astro/commit/e362d4cf540b27730482455c8fc02efe57d16702)
- [https://github.com/withastro/astro/pull/17752](https://github.com/withastro/astro/pull/17752)

## Related threats

- [Astro @astrojs/netlify unescaped regex metacharacters in image CDN allowlist](https://junglewise.ai/threats/cve-2026-73425-astro-astrojs-netlify-unescaped-regex-metacharacters-in-image-cdn)
- [Astro @astrojs/netlify SSRF via improper image pattern conversion](https://junglewise.ai/threats/cve-2026-54300-astro-astrojs-netlify-ssrf-via-improper-image-pattern-conversion)
