Impact
Astro, a web framework, implements an origin check only when the middleware() primitive is present in the composable astro/hono pipeline. In Astro versions 7.0.0 through 7.0.6, mounting actions() or pages() before middleware(), or omitting middleware() altogether, bypasses the origin check and allows an attacker to send a cross‑origin form‑encoded request that carries the victim’s cookies. The request is handled by ActionHandler.handle or PagesHandler.handleWithErrorFallback and can trigger a state‑changing operation. The attacker cannot read the response, making it a blind write‑only CSRF. The flaw is addressed in Astro 7.0.6.
Affected Systems
The vulnerability affects the Astro framework supplied by withastro:astro, specifically the composable astro/hono pipeline in releases from version 7.0.0 up to and including 7.0.6. The default, non‑composable astro() pipeline remains unaffected.
Risk and Exploitability
With a CVSS score of 5.1 the vulnerability is of moderate severity, and its EPSS score is not available. It is not listed in the CISA KEV catalog. The likely attack vector is a web browser session in which an attacker hosts a forged form that targets a victim’s domain; the victim’s stored cookies are sent automatically, enabling the attacker to execute state changes. Because the attack does not require executing code on the server or reading responses, the scope is limited to compromise of data integrity but not secrecy, and the exploitation largely depends on the presence of user authentication and cross‑origin requests in the application.
OpenCVE Enrichment
Github GHSA