GitHub Advisoryadvisory · Maven
GHSA-mpwq-j3xf-7m5w The redirect_uri validation logic allows for bypassing explicitly allowed hosts that would otherwise be restricted
HIGH
Official page ↗
- Aliases
- CVE-2023-6291
- Ecosystem
- Maven
- Packages
- org.keycloak:keycloak-services
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
- Weaknesses
- CWE-20
- Reviewed
- 2023-12-21
Affected packages
• Maven org.keycloak:keycloak-services: < 23.0.3 → fixed in 23.0.3
Description
An issue was found in the redirect_uri validation logic that allows for a bypass of otherwise explicitly allowed hosts.
The problem arises in the verifyRedirectUri method, which attempts to enforce rules on user-controllable input, but essentially causes a desynchronization in how Keycloak and browsers interpret URLs. Keycloak, for example, receives "www%2ekeycloak%2eorg%2fapp%2f:[email protected]" and thinks the authority to be keycloak.org when it is actually example.com. This happens because the validation logic is performed on a URL decoded version, which no longer represents the original input.
Acknowledgements
Karel Knibbe
Related
Alias · CVE (1)
- CVE-2023-6291 A flaw was found in the redirect_uri validation logic in Keycloak. vulnerability
Weakness · CWE (1)
- CWE-20 Improper Input Validation weakness
References
- https://github.com/keycloak/keycloak/security/advisories/GHSA-mpwq-j3xf-7m5w web
- https://nvd.nist.gov/vuln/detail/CVE-2023-6291 advisory
- https://github.com/keycloak/keycloak/commit/b2e91105315ccf2c1df549b4f6c5948322cbfd1b web
- https://access.redhat.com/errata/RHSA-2023:7854 web
- https://access.redhat.com/errata/RHSA-2023:7855 web
- https://access.redhat.com/errata/RHSA-2023:7856 web
- https://access.redhat.com/errata/RHSA-2023:7857 web
- https://access.redhat.com/errata/RHSA-2023:7858 web
- https://access.redhat.com/errata/RHSA-2023:7860 web
- https://access.redhat.com/errata/RHSA-2023:7861 web
- https://access.redhat.com/security/cve/CVE-2023-6291 web
- https://bugzilla.redhat.com/show_bug.cgi?id=2251407 web
- https://github.com/keycloak/keycloak package