CVE-2021-32786: Open Redirect in oidc_validate_redirect_url()
modauthopenidc is an authentication/authorization module for the Apache 2.x HTTP server that functions as an OpenID Connect Relying Party, authenticating users against an OpenID Connect Provider. In versions prior to 2.4.9, oidcvalidateredirecturl() does not parse URLs the same way as most browsers do. As a result, this function can be bypassed and leads to an Open Redirect vulnerability in the logout functionality. This bug has been fixed in version 2.4.9 by replacing any backslash of the URL to redirect with slashes to address a particular breaking change between the different specifications (RFC2396 / RFC3986 and WHATWG). As a workaround, this vulnerability can be mitigated by configuring modauthopenidc to only allow redirection whose destination matches a given regular expression.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
mod_auth_openidcto a version that resolves this vulnerability.Fixed in 2.4.9 - Configuration
Configure mod_auth_openidc to permit redirects only when the destination matches a given regular expression.
mod_auth_openidc allowed redirect destination regular expression = Only allow redirection destinations matching the configured regular expression
Event History
Frequently Asked Questions
What is CVE-2021-32786?
CVE-2021-32786 is a vulnerability in the mod_auth_openidc module that allows an attacker to bypass security controls and potentially perform unauthorized actions.
What is mod_auth_openidc?
mod_auth_openidc is an authentication/authorization module for the Apache 2.x HTTP server that functions as an OpenID Connect Relying Party.
What does CVE-2021-32786 affect?
CVE-2021-32786 affects mod_auth_openidc versions prior to 2.4.9.
How does CVE-2021-32786 work?
CVE-2021-32786 is caused by the `oidc_validate_redirect_url()` function not parsing URLs correctly, which can lead to security bypass vulnerabilities.
How can I fix CVE-2021-32786?
To fix CVE-2021-32786, update mod_auth_openidc to version 2.4.9 or later.