Description
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.
Published: 2026-08-12
Score: 5.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

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.

Generated by OpenCVE AI on August 12, 2026 at 22:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Astro to version 7.0.6 or later to include the origin check in all handlers
  • Ensure that middleware() is inserted before any actions() or pages() call in the composable pipeline
  • If an immediate upgrade is not possible, configure the application to use the default non‑composable astro() pipeline or implement additional CSRF protection to reject cross‑origin requests

Generated by OpenCVE AI on August 12, 2026 at 22:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-8mv7-9c27-98vc Astro: composable `astro/hono` pipeline bypasses `security.checkOrigin` when `middleware()` is absent or misordered
History

Wed, 12 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Withastro
Withastro astro
Vendors & Products Withastro
Withastro astro

Wed, 12 Aug 2026 20:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Astro: composable `astro/hono` pipeline bypasses `security.checkOrigin` when `middleware()` is absent or misordered
Weaknesses CWE-352
References
Metrics cvssV4_0

{'score': 5.1, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-13T17:53:25.469Z

Reserved: 2026-08-12T14:32:11.795Z

Link: CVE-2026-73423

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-12T21:17:41.340

Modified: 2026-08-13T18:18:17.463

Link: CVE-2026-73423

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-12T22:30:09Z

Weaknesses
  • CWE-352

    Cross-Site Request Forgery (CSRF)