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

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). Vendors: Astro, 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
    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

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.