CVE-2026-33769: Astro remotePatterns allowlist bypass via unanchored wildcard

CVE-2026-33769 · Severity: low · CVSS 3.1 · Published 2026-03-26

Astro is a web framework that enforces path allowlists on remote image resources through the image optimization endpoint. A flaw in the path matching logic allows attackers to bypass these restrictions and fetch unintended resources from allowlisted hosts, potentially exposing sensitive data or enabling server-side request forgery (SSRF) attacks beyond the configured path restrictions.

Technologies: astro (npm). Vendors: npm.

Quick answers

Is CVE-2026-33769 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-33769 being exploited in the wild.
How severe is CVE-2026-33769?
Low severity, with a CVSS score of 3.1, published 26 March 2026.
Which products and versions are affected?
astro (npm) SEMVER:introduced=2.10.10,fixed=5.18.1.
Is there a fix for CVE-2026-33769?
Yes. astro (npm): upgrade to 5.18.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-33769 attacked?
It is attacked over the network.
Am I affected by CVE-2026-33769?
Check whether you run astro (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

  • astro (npm): upgrade to 5.18.1 or later
    npm install astro@5.18.1

Technical details

The vulnerability exists in Astro's matchPathname() function within the remote pattern validation logic. When handling wildcard patterns ending in "/*", the code uses String.replace() without anchoring the pattern, allowing any pathname containing the allowed prefix anywhere in the path (not just at the start) to match. For example, a pattern configured to allow "/img/*" incorrectly matches requests to "/evil/img/secret" because the replace() call removes the "/img/" substring regardless of position. This unanchored matching affects the image optimization endpoint's server-side URL validation. The vulnerable code was introduced in versions after 2.10.10 through 5.18.0 and has been patched in version 5.18.1.

Affected products

  • Astro Astro >2.10.10, <=5.18.0

Identifiers

  • CVE-2026-33769
  • GHSA-g735-7g2w-hh3f

Timeline

  • 2026-03-26: disclosed
  • 2026-03-26: patched: Patch released as version 5.18.1

References

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