Bug 1760613 (CVE-2019-14857)
Summary: | CVE-2019-14857 mod_auth_openidc: Open redirect in logout url when using URLs with leading slashes | ||
---|---|---|---|
Product: | [Other] Security Response | Reporter: | Pedro Sampaio <psampaio> |
Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
Status: | CLOSED ERRATA | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | unspecified | CC: | jdennis, jhrozek, jpazdziora, puiterwijk, sssd-qe |
Target Milestone: | --- | Keywords: | Security |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | mod_auth_openidc 2.4.0.1 | Doc Type: | If docs needed, set a value |
Doc Text: |
An open redirect flaw was discovered in mod_auth_openidc, where it handles logout redirection. The module does not correctly validate the URL, allowing a URL with leading slashes to bypass the protection checks. A victim user may be tricked into visiting a trusted vulnerable web site, which would redirect them to another possibly malicious URL.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2020-07-21 19:27:48 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1760614, 1805067, 1805068, 1820666 | ||
Bug Blocks: | 1760615 |
Description
Pedro Sampaio
2019-10-10 23:17:13 UTC
Created mod_auth_openidc tracking bugs for this issue: Affects: fedora-all [bug 1760614] The version of mod_auth_openidc as shipped with Red Hat Enterprise Linux 7 does not contain the patched code, however due to a missing check, this issue does not manifest as an Open Redirect flaw, but it triggers a NULL pointer dereference while parsing the logout URL. For this reason, the only impact on RHEL 7 is to Availability, because the httpd process would die, even though others can take other requests. Function oidc_handle_logout() in mod_auth_openidc.c takes care of handling requests like `https://server/redirect_uri?logout=<redirect-url>` and it uses function oidc_validate_post_logout_url() to validate the <redirect-url> (in some older versions of mod_auth_openidc the check is performed in the function oidc_handle_logout() itself). The checks are done by first parsing the URL with apr_uri_parse() and then by looking at the parsed values. However, some URLs may be incorrectly parsed by apr_uri_parse() and still be correctly used by browsers. A remote attacker may use this flaw to trick a victim user into visiting a trusted vulnerable web site which, when handling a specially crafted URL, would redirect the victim to another malicious URL, possibly performing other kinds of attacks. Statement: It is not possible to reproduce the open redirect vulnerability in the versions of mod_auth_openidc as shipped in Red Hat Enterprise Linux 7, as a missing check makes the process crash, due to a NULL pointer dereference, instead of letting it continue with an invalid URL. (In reply to Riccardo Schirone from comment #7) > Statement: > > It is not possible to reproduce the open redirect vulnerability in the > versions of mod_auth_openidc as shipped in Red Hat Enterprise Linux 7, as a > missing check makes the process crash, due to a NULL pointer dereference, > instead of letting it continue with an invalid URL. Thank you for the careful testing. Would you say that the crash constitutes a DoS instead? In reply to comment #9: > (In reply to Riccardo Schirone from comment #7) > > Statement: > > > > It is not possible to reproduce the open redirect vulnerability in the > > versions of mod_auth_openidc as shipped in Red Hat Enterprise Linux 7, as a > > missing check makes the process crash, due to a NULL pointer dereference, > > instead of letting it continue with an invalid URL. > > Thank you for the careful testing. Would you say that the crash constitutes > a DoS instead? I set the CVSS for rhel-7/mod_auth_openidc to 5.8/CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L, which means Availability Impact is set to Low. The httpd server indeed crashes, but the parent httpd process does not and it just spawns new httpd children processes. I would say you could have a Denial of Service if you keep crashing the server very quickly, but I believe it is still Low impact. This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2020:3032 https://access.redhat.com/errata/RHSA-2020:3032 This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2019-14857 This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2020:3970 https://access.redhat.com/errata/RHSA-2020:3970 |