Astro — это веб-фреймворк для веб-сайтов, ориентированных на контент. С версий 7.0.0 до 7.0.6 компонуемый конвейер astro/hono устанавливает security.checkOrigin только через примитив middleware(), в то время как действия() и страницы() могут отправляться в пользовательский код независимо. Монтирование действий() перед промежуточным программным обеспечением(), как в примере примеров/расширенной маршрутизации и документации Cloudflare Hono, позволяет выполнять запросы действий с перекрестным кодированием формы до проверки источника, а использование страниц() без промежуточного программного обеспечения() отменяет проверку для конечных точек и страниц по требованию.
Уязвимость позволяет слепо подделывать межсайтовые запросы только для записи с использованием файлов cookie жертвы для ActionHandler.handle и PagesHandler.handleWithErrorFallback, когда манифест.checkOrigin включен; злоумышленник может инициировать действие по изменению состояния или обработчик конечной точки, но не может прочитать ответ из разных источников. Некомпонуемый конвейер astro() по умолчанию не затрагивается. Эта проблема исправлена в версии 7.0.6.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0