CVE-2025-55303: Unauthorized third-party images in Astro’s _image endpoint

Published Aug 19, 2025
·
Updated

Summary

In affected versions of astro, the image optimization endpoint in projects deployed with on-demand rendering allows images from unauthorized third-party domains to be served.

Details

On-demand rendered sites built with Astro include an /image endpoint which returns optimized versions of images.

The /image endpoint is restricted to processing local images bundled with the site and also supports remote images from domains the site developer has manually authorized (using the image.domains or image.remotePatterns options).

However, a bug in impacted versions of astro allows an attacker to bypass the third-party domain restrictions by using a protocol-relative URL as the image source, e.g. /image?href=//example.com/image.png.

Proof of Concept

1. Create a new minimal Astro project (astro@5.13.0).

2. Configure it to use the Node adapter (@astrojs/node@9.1.0 — newer versions are not impacted):

js // astro.config.mjs import { defineConfig } from 'astro/config'; import node from '@astrojs/node';

export default defineConfig({ adapter: node({ mode: 'standalone' }), });

3. Build the site by running astro build.

4. Run the server, e.g. with astro preview.

5. Append /image?href=//placehold.co/600x400 to the preview URL, e.g. <http://localhost:4321/image?href=//placehold.co/600x400>

6. The site will serve the image from the unauthorized placehold.co origin.

Impact

Allows a non-authorized third-party to create URLs on an impacted site’s origin that serve unauthorized image content. In the case of SVG images, this could include the risk of cross-site scripting (XSS) if a user followed a link to a maliciously crafted SVG.

Other sources

Astro is a web framework for content-driven websites. In versions of astro before 5.13.2 and 4.16.18, the image optimization endpoint in projects deployed with on-demand rendering allows images from unauthorized third-party domains to be served. On-demand rendered sites built with Astro include an /image endpoint which returns optimized versions of images. A bug in impacted versions of astro allows an attacker to bypass the third-party domain restrictions by using a protocol-relative URL as the image source, e.g. /image?href=//example.com/image.png. This vulnerability is fixed in 5.13.2 and 4.16.18.

MITRE

Affected Software

5 affected componentsFixes available
npm/astro<=4.16.18
4.16.19
npm/@astrojs/node<=9.1.0
9.1.1
npm/astro>=5.0.0-alpha.0<=5.13.0
5.13.2
astro Astro Node.js<4.16.18
astro Astro Node.js>=5.0.0<5.13.2

Event History

Aug 19, 2025
Advisory Published
via GitHub·03:40 PM
Data Sourced
via GitHub·03:40 PM
DescriptionWeaknessAffected Software
CVE Published
via MITRE·06:08 PM
Data Sourced
via MITRE·06:08 PM
DescriptionWeakness
Data Sourced
via NVD·07:15 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·07:15 PM
RemedyAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2025-55303?

CVE-2025-55303 has a medium severity rating due to the risk of serving images from unauthorized third-party domains.

2

How do I fix CVE-2025-55303?

To fix CVE-2025-55303, upgrade the 'astro' package to version 4.16.19, '@astrojs/node' to version 9.1.1, or 'astro' to at least version 5.13.2.

3

What versions of Astro are affected by CVE-2025-55303?

CVE-2025-55303 affects 'astro' versions up to 4.16.18, '@astrojs/node' versions up to 9.1.0, and 'astro' versions from 5.0.0-alpha.0 to 5.13.0.

4

What is the impact of CVE-2025-55303?

The impact of CVE-2025-55303 allows unauthorized third-party images to be served, potentially exposing users to malicious content.

5

Is CVE-2025-55303 specific to certain implementations of Astro?

Yes, CVE-2025-55303 is specific to Astro projects that utilize on-demand rendering, particularly with the '/_image' endpoint.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203
CVE-2025-55303 - Unauthorized third-party images in Astro’s _image endpoint - SecAlerts