Astro: composable `astro/hono` pipeline bypasses `security.checkOrigin` when `middleware()` is absent or misordered
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Tampering
- Confidentiality · integrity · availability
- None · None · None
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-352.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| withastro | astro | 7.0.0 to before 7.0.6 | 7.0.6 | Patch available | CNA |
| — | astro (npm) | 7.0.0 to before 7.0.6 | 7.0.6 | Patch available | GHSA-8mv7-9c27-98vc |
- astro Vendorwithastro Affected 7.0.0 to before 7.0.6 Fixed in 7.0.6 Patch available CNA
- astro (npm) Vendor— Affected 7.0.0 to before 7.0.6 Fixed in 7.0.6 Patch available GHSA-8mv7-9c27-98vc
Remediation
- Fix · CNA astro (withastro) Fixed in 7.0.6
- Fix · GHSA-8mv7-9c27-98vc astro (npm) Fixed in 7.0.6 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat OpenShift AI (RHOAI) | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-73423
- 2026-10-03 Alias added: GHSA-8mv7-9c27-98vc
References
Other 5
- https://github.com/withastro/astro/security/advisories/GHSA-8mv7-9c27-98vc
- https://github.com/withastro/astro/pull/17250
- https://github.com/withastro/astro/commit/0b30b35f864310bee8485c952d1877e82e2b9b1a
- https://github.com/withastro/astro/releases/tag/[email protected]
- https://github.com/withastro/astro
More withastro vulnerabilities
- TI-2026-26147 Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path` CVSS 3.1CRITICAL 9.1
- TI-2026-42600 Astro 6.4.7 Authorization Bypass via Decode Iteration Limit and Rewrite Path Canonicalization Mismatch CVSS 3.1HIGH 8.2
- TI-2024-37142 Server source code is exposed to the public if sourcemaps are enabled CVSS 4.0HIGH 7.8
- TI-2025-35987 Astro Cloudflare adapter is vulnerable to Server-Side Request Forgery via /_image endpoint CVSS 3.1HIGH 7.2
- TI-2025-34958 Unauthorized third-party images in Astro’s _image endpoint CVSS 4.0MEDIUM 6.9
- TI-2026-51542 Astro: Unauthenticated path override in the @astrojs/vercel ISR function CVSS 3.1MEDIUM 6.5
Sources
- CVE-2026-73423 · CVE Program
- CVE-2026-73423 · NVD
- FIRST EPSS
- GHSA-8mv7-9c27-98vc · GitHub Advisory Database · CC BY 4.0
- CVE-2026-73423 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences