Description
Astro is a web framework. In Astro versions 2.16.0 up to but excluding 5.15.5 which utilizeon-demand rendering, request headers `x-forwarded-proto` and `x-forwarded-port` are insecurely used, without sanitization, to build the URL. This has several consequences, the most important of which are: middleware-based protected route bypass (only via `x-forwarded-proto`), DoS via cache poisoning (if a CDN is present), SSRF (only via `x-forwarded-proto`), URL pollution (potential SXSS, if a CDN is present), and WAF bypass. Version 5.15.5 contains a patch.
Problem types
CWE-918: Server-Side Request Forgery (SSRF)
Product status
References
github.com/.../astro/security/advisories/GHSA-hr2q-hp5q-x767
github.com/...ommit/dafbb1ba29912099c4faff1440033edc768af8b4
github.com/...e725ac3097/packages/astro/src/core/app/node.ts
github.com/...e725ac3097/packages/astro/src/core/app/node.ts