Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessVictim visits attacker-controlled page
-
DeliveryBrowser auto-submits cross-origin form POST with victim session cookies
-
ExploitAstro composable pipeline routes request to actions() or pages() handler
-
ExecutionOrigin check bypassed due to missing or misordered middleware()
-
PersistActionHandler.handle or PagesHandler.handleWithErrorFallback executes with victim credentials
-
ImpactServer-side state mutated without victim awareness
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires all four of the following conditions: (1) the target application uses the composable |
| Impact | The CVSS 4.0 score of 5.1 (Medium, AV:N/AC:L/AT:N/PR:N/UI:A/SC:N/SI:L/SA:N) accurately reflects real-world risk: the attack requires no attacker privileges and is network-based with low complexity, but active victim interaction is required and the impact is limited to blind integrity mutation of subsequent-system state with no confidentiality or availability consequence. EPSS data is not present in the provided intelligence, so probabilistic exploitation likelihood cannot be quantified. No CISA KEV listing and no public POC exist at time of analysis, indicating this is not confirmed actively exploited. Critically, the true exposed population is significantly narrower than the raw version range implies: only deployments using the composable |
| Exploit ScenarioDerived | An attacker hosts a webpage containing a hidden HTML form whose action attribute targets a state-mutating Astro Action endpoint on the victim's server (e.g., an account-settings update or funds-transfer action). When an authenticated victim visits the attacker's page - via a phishing link or a malicious ad - the browser auto-submits the form with the victim's session cookies attached. Because the composable pipeline processes |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 12, 2026
Cross-site request forgery in Astro 7.0.0-7.0.5 allows unauthenticated network attackers to trigger state-mutating Actions and on-demand page endpoints using a victim's session cookies when the composable astro/hono pipeline is configured with actions() or pages() mounted without a preceding middleware() call. The default non-composable astro() pipeline is entirely unaffected; only deployments following the vulnerable pipeline composition pattern - which was demonstrated in the official examples/advanced-routing example and Cloudflare Hono documentation - are exposed. The attack is blind write-only: the attacker can mutate server state but cannot read the cross-origin response body. No public exploit or CISA KEV listing exists at time of analysis; the issue is fixed in Astro 7.0.6.
RemediationAI
The primary fix is to upgrade to Astro 7.0.6 via npm install astro@7.0.6 or equivalent; this release applies the origin check independently at both ActionHandler.handle and PagesHandler.handleWithErrorFallback regardless of pipeline assembly order, as documented in the release at https://github.com/withastro/astro/releases/tag/astro@7.0.6 and implemented in https://github.com/withastro/astro/pull/17250. If immediate upgrade is not feasible, the GHSA advisory prescribes a configuration workaround: always mount middleware() first in the composable pipeline before actions() and pages(), even when no custom middleware logic exists - specifically app.use(middleware()); app.use(actions()); app.use(pages());. This workaround restores the origin check but requires a deliberate code change in every composable pipeline in the codebase; any pipeline that omits middleware() entirely remains vulnerable under this workaround, and it provides no protection once forgotten during future refactors, making the upgrade strongly preferable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Astro's security.checkOrigin feature (enabled by default via manifest.checkOrigin = true) guards against CWE-352 by comparing the Origin HTTP header of incoming POST/PUT/PATCH/DELETE requests to the site's own URL, rejecting cross-site form submissions. In the classic astro() all-in-one pipeline, Astro injects a virtual middleware module unconditionally, so the check always runs. In the composable astro/hono pipeline introduced in v7.0.0 (CPE: cpe:2.3:a:withastro:astro:*:*:*:*:*:*:*:*), users manually assemble middleware(), actions(), and pages() primitives as Hono middleware. The origin check was only wired inside middleware(), leaving ActionHandler.handle and PagesHandler.handleWithErrorFallback unguarded when invoked before or without that primitive. The fix (PR #17250, commit 0b30b35) refactored the check into a shared origin-check.ts module, applying isForbiddenCrossOriginRequest() directly at both dispatch sinks in a manner that is order-independent and idempotent if middleware() has already run.
Know when Astro gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N
Network CSRF requiring victim interaction (UI:R); no attacker privileges; scope changes to affect server state (S:C); blind write-only mutation limits impact to I:L with no confidentiality or availability consequence.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Astro is a web framework for content-driven websites. From 7.0.0 until 7.0.6, the composable astro/hono pipeline installs security.checkOrigin only through the middleware() primitive, while actions() and pages() can dispatch to user code independently. Mounting actions() before middleware(), as in the examples/advanced-routing example and Cloudflare Hono documentation, allows cross-origin form-encoded action requests to execute before the origin check, and using pages() without middleware() drops the check for on-demand endpoints and pages. The flaw enables blind write-only cross-site request forgery using the victim's cookies against ActionHandler.handle and PagesHandler.handleWithErrorFallback when manifest.checkOrigin is enabled; the attacker can trigger a state-mutating action or endpoint handler but cannot read the cross-origin response. The default non-composable astro() pipeline is not affected. This issue is fixed in version 7.0.6.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
SQL Injection exists in the Saxum Astro 4.0.14 component for Joomla!. Rated critical severity (CVSS 9.8), this vulnerabi
Astro web framework versions prior to 9.5.4 contain a server-side request forgery vulnerability in error page handling t
Authorization bypass in the Astro web framework version 6.4.7 lets remote unauthenticated attackers reach protected rout
Astro is a web framework for content-driven websites. Rated high severity (CVSS 7.8), this vulnerability is remotely exp
Server-side request forgery in Astro's built-in image proxy lets unauthenticated remote attackers force the server to fe
Astro is a web framework for content-driven websites. Rated high severity (CVSS 7.2), this vulnerability is remotely exp
Astro is a web framework for content-driven websites. Rated medium severity (CVSS 6.9), this vulnerability is remotely e
Astro is a web framework. Rated medium severity (CVSS 6.9), this vulnerability is remotely exploitable, no authenticatio
Astro is a web framework. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, no authenticatio
Unvalidated reflection of the X-Forwarded-Host header in Astro (versions before 5.14.3) lets remote, unauthenticated att
Astro web framework versions 9.0.0 through 9.5.3 fail to validate remote image domains when the inferSize option is enab
Base-path prefix bypass in Astro prior to 7.2.4 allows unauthenticated remote attackers to reach protected server-side r
EUVD-2026-57608
GHSA-8mv7-9c27-98vc
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB