Browse / CVEs / CVE-2025-55303
CVE-2025-55303· CWE-79
Astro - Unauthorized Third-Party Image Access
mediumseverity
6.4CVSS score
0.7%likelihood of exploitation, next 30 days
53%of all CVEs are less likely
Readycheck to confirm it
Astro < 5.13.2 and < 4.16.18 contains an information disclosure vulnerability caused by improper validation of protocol-relative URLs in the image optimization endpoint, letting attackers serve images from unauthorized third-party domains, exploit requires on-demand rendering deployment.
Impact
Attackers can serve images from unauthorized third-party domains, potentially leading to information disclosure or content spoofing.
Fix
Update to versions 5.13.2 or 4.16.18 or later.
How to confirm it
Send: GET {{BaseURL}}/_image?href=//{{interactsh-url}}/600x400
Positive when: status_code == 200 and interactsh_protocol == "http" and contains(header, "image/")Run it with nuclei: nuclei -id CVE-2025-55303 -u <target>
The full check
id: CVE-2025-55303
info:
name: Astro - Unauthorized Third-Party Image Access
author: theamanrawat
severity: medium
description: |
Astro < 5.13.2 and < 4.16.18 contains an information disclosure vulnerability caused by improper validation of protocol-relative URLs in the image optimization endpoint, letting attackers serve images from unauthorized third-party domains, exploit requires on-demand rendering deployment.
impact: |
Attackers can serve images from unauthorized third-party domains, potentially leading to information disclosure or content spoofing.
remediation: |
Update to versions 5.13.2 or 4.16.18 or later.
reference:
- https://github.com/advisories/GHSA-xf8x-j4p2-f749
- https://nvd.nist.gov/vuln/detail/CVE-2025-55303
classification:
cvss-metrics: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
cvss-score: 6.4
cve-id: CVE-2025-55303
epss-score: 0.00676
epss-percentile: 0.52541
cwe-id: CWE-79
metadata:
verified: true
max-request: 1
shodan-query: http.html:"astro"
tags: cve,cve2025,astro,ssrf,vuln,vkev
http:
- method: GET
path:
- "{{BaseURL}}/_image?href=//{{interactsh-url}}/600x400"
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'interactsh_protocol == "http"'
- 'contains(header, "image/")'
condition: andReferences
Use this check only on systems you are authorised to test. Where the data comes from