The vulnerability in CVE-2026-73423 is not a missing security check but a compositional architecture that makes security dependent on correct mounting order. The checkOrigin middleware was implemented correctly — the failure is that it must be mounted before handlers that dispatch to user code, and this ordering requirement was invisible to developers using Astro's composable primitives.

When Astro 7.0 extracted actions() and pages() as standalone primitives from the opinionated astro() pipeline, the security primitive was not extracted with them. This is the critical detail: the vulnerability was not inherited from Hono's pattern — it was re-introduced during the 7.0 refactor. The security model existed in earlier versions but was forgotten during the architectural extraction. The official examples/advanced-routing demonstrated the vulnerable mounting order, meaning developers following Astro's own materials were actively modeled into the vulnerability.

The CVSS 5.1 rating is defensible for the technical finding but undersells actual risk. The write-only CSRF characterization assumes the attacker cannot read responses — but they can trigger ActionHandler.handle with victim credentials. Whether this matters depends on what the actions do. Content-driven sites with user accounts — Astro's core audience — are disproportionately likely to have action handlers that send emails, modify subscriptions, or call third-party APIs. Blind CSRF against high-privilege operations is consequential regardless of response unreadability.

The critical uncertainty is whether 7.0.6 enforces checkOrigin at the handler dispatch layer regardless of mounting order, or merely corrects the documented example ordering. If it's the latter, the composable API remains fundamentally unsafe for security-sensitive deployments — any developer who writes custom routing and places a handler before middleware() in the mounting chain recreates the vulnerability without touching the security logic. A genuine fix would make checkOrigin an explicit, non-optional option on actions() and pages() that defaults to enabled, not an inherited middleware behavior dependent on ordering.

If you deployed Astro 7.0.0–7.0.5 with custom routing following official examples, audit your mounting chain. Verify that middleware() containing checkOrigin is mounted before any handler that dispatches to action or page handlers. Until Astro enforces this at the dispatch layer, your application security depends on ordering discipline the framework makes invisible.