mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 08:18:18 +00:00
183c1d8cb4
fix(targets): disable HTTP redirects on webhook delivery client (backlog#974) The webhook reqwest client used the default redirect policy (follows up to 10 redirects). Even though the configured endpoint is validated against outbound-egress rules, a malicious or compromised endpoint could return a 3xx response to bounce the outbound request to an internal address (e.g. the cloud metadata service at 169.254.169.254), bypassing that validation (SSRF). - Set `.redirect(reqwest::redirect::Policy::none())` on the delivery client so redirects are never followed. - Treat a 3xx response as a delivery failure (error carries the status code) instead of silently succeeding. - Add a regression test that stands up a loopback server returning a 302 to an internal metadata address and asserts the client surfaces the 3xx rather than following it. Refs: https://github.com/rustfs/backlog/issues/974