No ducto composível `astro/ hono`, a proteção `security.checkOrigin` só é instalada pelo primitivo `middleware()`. Os primitivos `actions()` e `pages()` cada envio para o código do usuário de forma independente, de modo que um conduto que monta ou primitivo antes (ou sem) `middleware()` vai contornar a verificação de origem para esses pedidos. `security.checkOrigin` (predefinido: `verdadeiro`) é destinado a rejeitar as submissões de formulários do site cruzado `POST`/` PUT`/` PATCH`/` DELETE`. No clássico pipeline (`astro()` all- in- un), a verificação sempre se executa porque Astro injeta um módulo de middleware virtual mesmo quando o usuário não tem `src/middleware.ts`. No ducto composto `astro/ hono`, o usuário monta os primitivos manualmente. A verificação só está instalada dentro de `middleware()` — assim: - Montando `actions()` antes de `middleware()` permite que os pedidos de ação codificada por formulários de origem cruzada sejam executados antes da execução do portão. O exemplo `exemplos/direção avançada` e os documentos `hono` do Cloudflare enviaram esta ordem. - Omitindo completamente `middleware()` (razonável para aplicativos sem intergiros personalizados) deixa cair silenciosamente `checkOrigin` proteção para todos os endpoints e páginas enviados por `pages()'.

O ataque é um CSRF cego somente para gravação: o atacante pode desencadear uma ação de mudança de estado ou um manipulador de endpoints usando os cookies da vítima, mas não pode ler o corpo de resposta de origem cruzada. Astro `>= 7.0.0 ` quando se usa o ducto composto `astro/ hono` com: - `actions()` montado antes de `middleware()`, ou - `pages()` usado sem `middleware()` O tubo padrão (não- composível) não é afetado.

A verificação de origem é agora aplicada em cada freia de expedição (`ActionHandler. handle` e `PagesHandler. handleWithErrorFallback`), portado em `manifesto.checkOrigin`, usando o mesmo predicado do middleware. A verificação é independente da ordem e não é operada quando `middleware()' já foi executado. Assegure que `middleware()` é montado antes de `actions()' e `pages()' no tubo composível, e que ele está sempre incluído mesmo quando não é necessária nenhuma lógica de middleware personalizada: ```ts app.use(middleware()); app.use(actions()); app.use(pages()); ```. Registro de aconselhamento: GHSA- 8 mv 7 - 9 c 27 - 98 vc. Identificadores relacionados: CVE- 2026 - 73423.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 20 T 23: 26: 27.000 Z e lista a sua última modificação como 2026 - 08 - 12 T 20: 35: 36.000 Z. Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 4: CVSS: 4.0 /AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:N/SI:L/África do Sul:N.

Informações sobre software e versão afetadas: astro do pacote npm — ECOSISTEM: introduzido 7.0.0, corrigido 7.0.6. Classificação e evidência: identificadores de fraqueza CWE- 352. O registro contém 5 suporte de referências nestes tipos: WEB, PACKAGE.