Description
AzuraCast is a self-hosted, all-in-one web radio management suite. Prior to version 0.23.6, the ApplyXForwarded middleware unconditionally trusts the client-supplied X-Forwarded-Host HTTP header with no trusted proxy allowlist. An unauthenticated attacker can poison the password reset URL sent to any user by injecting this header when triggering the forgot-password flow. When the victim clicks the poisoned link, their reset token is exfiltrated to the attacker's server. The attacker then uses the token on the real instance to reset the victim's password and destroy their 2FA configuration, achieving full account takeover. This issue has been patched in version 0.23.6.
Problem types
CWE-640: Weak Password Recovery Mechanism for Forgotten Password
Product status
References
github.com/...raCast/security/advisories/GHSA-gv7r-3mr9-h5x8
github.com/...ommit/7c622a18b451533de317e53862b1f84acf4efd85
github.com/AzuraCast/AzuraCast/releases/tag/0.23.6