A session fixation issue was discovered in the SAML adapters provided by Keycloak. The session ID and JSESSIONID cookie are not changed at login time, even when the turnOffChangeSessionIdOnLogin option is configured. This flaw allows an attacker who hijacks the current session before authentication to trigger session fixation.
Authenticating a user, or otherwise establishing a new user session, without invalidating any existing session identifier gives an attacker the opportunity to steal authenticated sessions.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Keycloak | Redhat | * | 25.0.2 (including) |
Red Hat Build of Keycloak | RedHat | org.keycloak/keycloak-services | * |
Red Hat Build of Keycloak | RedHat | org.keycloak/keycloak-services | * |
Red Hat build of Keycloak 22 | RedHat | rhbk/keycloak-operator-bundle:22.0.12-1 | * |
Red Hat build of Keycloak 22 | RedHat | rhbk/keycloak-rhel9:22-17 | * |
Red Hat build of Keycloak 22 | RedHat | rhbk/keycloak-rhel9-operator:22-20 | * |
Red Hat build of Keycloak 24 | RedHat | rhbk/keycloak-operator-bundle:24.0.7-4 | * |
Red Hat build of Keycloak 24 | RedHat | rhbk/keycloak-rhel9:24-16 | * |
Red Hat build of Keycloak 24 | RedHat | rhbk/keycloak-rhel9-operator:24-16 | * |
Red Hat Single Sign-On 7 | RedHat | org.keycloak/keycloak-services | * |
Red Hat Single Sign-On 7.6 for RHEL 7 | RedHat | rh-sso7-keycloak-0:18.0.16-1.redhat_00001.1.el7sso | * |
Red Hat Single Sign-On 7.6 for RHEL 8 | RedHat | rh-sso7-keycloak-0:18.0.16-1.redhat_00001.1.el8sso | * |
Red Hat Single Sign-On 7.6 for RHEL 9 | RedHat | rh-sso7-keycloak-0:18.0.16-1.redhat_00001.1.el9sso | * |
RHEL-8 based Middleware Containers | RedHat | rh-sso-7/sso76-openshift-rhel8:7.6-52 | * |
Such a scenario is commonly observed when:
In the generic exploit of session fixation vulnerabilities, an attacker creates a new session on a web application and records the associated session identifier. The attacker then causes the victim to associate, and possibly authenticate, against the server using that session identifier, giving the attacker access to the user’s account through the active session.