Astro is a web framework for content-driven websites. In affected versions a bug in Astro’s CSRF-protection middleware allows requests to bypass CSRF checks. When the security.checkOrigin
configuration option is set to true
, Astro middleware will perform a CSRF check. However, a vulnerability exists that can bypass this security. A semicolon-delimited parameter is allowed after the type in Content-Type
. Web browsers will treat a Content-Type
such as application/x-www-form-urlencoded; abc
as a simple request
and will not perform preflight validation. In this case, CSRF is not blocked as expected. Additionally, the Content-Type
header is not required for a request. This issue has been addressed in version 4.16.17 and all users are advised to upgrade. There are no known workarounds for this vulnerability.