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.
We have discovered 725 live websites that are affected by CVE-2026-73423.
| Product | |
| Category | Static Site Generator |
| Vulnerable Domains | 725 live websites (2.44% of Astro install base) |
| Vulnerable Versions |
|
| Vulnerable Versions Count | 6 versions ( 1.27% of all versions) |
| 473 websites | |
| 44 websites | |
| 18 websites | |
| 17 websites | |
| 13 websites | |
| 13 websites | |
| 13 websites | |
| 10 websites | |
| 10 websites | |
| 9 websites |
| .com | 361 websites |
| .de | 29 websites |
| .org | 23 websites |
| .io | 19 websites |
| .net | 18 websites |
| .fr | 14 websites |
| .co.uk | 10 websites |
| .com.br | 10 websites |
| .es | 9 websites |
| .it | 9 websites |
| Domain | Country | Rank | Contacts |
|---|---|---|---|
| ***********.net | *,*** | ||
| ***********.com | **,*** | ||
| ****.***************.be | ***,*** | ||
| **********.com | ***,*** | ||
| ****.*****.com | ***,*** | ||
| **********.com | ***,*** | ||
| *********.**.uk | ***,*** | ||
| ************.com | ***,*** | ||
| **********.com | ***,*** | ||
| ***************.net | ***,*** |
FAQ