GHSA-MPWQ-J3XF-7M5W
Vulnerability from github – Published: 2023-12-21 18:25 – Updated: 2024-01-26 20:28
VLAI
Summary
The redirect_uri validation logic allows for bypassing explicitly allowed hosts that would otherwise be restricted
Details
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:y@example.com" 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
Severity
7.1 (High)
{
"affected": [
{
"package": {
"ecosystem": "Maven",
"name": "org.keycloak:keycloak-services"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "23.0.3"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2023-6291"
],
"database_specific": {
"cwe_ids": [
"CWE-20"
],
"github_reviewed": true,
"github_reviewed_at": "2023-12-21T18:25:30Z",
"nvd_published_at": "2024-01-26T15:15:08Z",
"severity": "HIGH"
},
"details": "An issue was found in the redirect_uri validation logic that allows for a bypass of otherwise explicitly allowed hosts.\n\nThe 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:y@example.com](https://www%2ekeycloak%2eorg%2fapp%2f:y@example.com/)\" 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.\n\n### Acknowledgements\nKarel Knibbe ",
"id": "GHSA-mpwq-j3xf-7m5w",
"modified": "2024-01-26T20:28:52Z",
"published": "2023-12-21T18:25:30Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/keycloak/keycloak/security/advisories/GHSA-mpwq-j3xf-7m5w"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2023-6291"
},
{
"type": "WEB",
"url": "https://github.com/keycloak/keycloak/commit/b2e91105315ccf2c1df549b4f6c5948322cbfd1b"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2023:7854"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2023:7855"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2023:7856"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2023:7857"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2023:7858"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2023:7860"
},
{
"type": "WEB",
"url": "https://access.redhat.com/errata/RHSA-2023:7861"
},
{
"type": "WEB",
"url": "https://access.redhat.com/security/cve/CVE-2023-6291"
},
{
"type": "WEB",
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2251407"
},
{
"type": "PACKAGE",
"url": "https://github.com/keycloak/keycloak"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L",
"type": "CVSS_V3"
}
],
"summary": "The redirect_uri validation logic allows for bypassing explicitly allowed hosts that would otherwise be restricted"
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…