High severity7.4NVD Advisory· Published Apr 17, 2024· Updated Apr 15, 2026
CVE-2024-1249
CVE-2024-1249
Description
A flaw was found in Keycloak's OIDC component in the "checkLoginIframe," which allows unvalidated cross-origin messages. This flaw allows attackers to coordinate and send millions of requests in seconds using simple code, significantly impacting the application's availability without proper origin validation for incoming messages.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
org.keycloak:keycloak-servicesMaven | < 22.0.10 | 22.0.10 |
org.keycloak:keycloak-servicesMaven | >= 23.0.0, < 24.0.3 | 24.0.3 |
Patches
29d9817e15a07Limit requests sent through session status iframe (#132)
1 file changed · +8 −0
services/src/main/resources/org/keycloak/protocol/oidc/endpoints/login-status-iframe.html+8 −0 modified@@ -28,6 +28,7 @@ } let init; + let preventAdditionalRequests = false; async function checkState(clientId, origin, sessionState) { // Check if the browser has granted us access to 3rd-party storage (such as cookies). @@ -41,6 +42,13 @@ // If not initialized, verify this client is allowed access with a call to the server. if (!init) { + // Prevent additional requests to the server to avoid potential DoS attacks. + if (preventAdditionalRequests) { + return "error"; + } else { + preventAdditionalRequests = true; + } + const url = new URL(`${location.origin}${location.pathname}/init`); url.searchParams.set("client_id", clientId);
e3598a53678aLimit requests sent through session status iframe (#118)
1 file changed · +8 −0
services/src/main/resources/org/keycloak/protocol/oidc/endpoints/login-status-iframe.html+8 −0 modified@@ -28,6 +28,7 @@ } let init; + let preventAdditionalRequests = false; async function checkState(clientId, origin, sessionState) { // Check if the browser has granted us access to 3rd-party storage (such as cookies). @@ -41,6 +42,13 @@ // If not initialized, verify this client is allowed access with a call to the server. if (!init) { + // Prevent additional requests to the server to avoid potential DoS attacks. + if (preventAdditionalRequests) { + return "error"; + } else { + preventAdditionalRequests = true; + } + const url = new URL(`${location.origin}${location.pathname}/init`); url.searchParams.set("client_id", clientId);
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
16- github.com/advisories/GHSA-m6q9-p373-g5q8ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2024-1249ghsaADVISORY
- access.redhat.com/errata/RHSA-2024:1860nvdWEB
- access.redhat.com/errata/RHSA-2024:1861nvdWEB
- access.redhat.com/errata/RHSA-2024:1862nvdWEB
- access.redhat.com/errata/RHSA-2024:1864nvdWEB
- access.redhat.com/errata/RHSA-2024:1866nvdWEB
- access.redhat.com/errata/RHSA-2024:1867nvdWEB
- access.redhat.com/errata/RHSA-2024:1868nvdWEB
- access.redhat.com/errata/RHSA-2024:2945nvdWEB
- access.redhat.com/errata/RHSA-2024:4057nvdWEB
- access.redhat.com/security/cve/CVE-2024-1249nvdWEB
- bugzilla.redhat.com/show_bug.cginvdWEB
- github.com/keycloak/keycloak/commit/9d9817e15a07195f16f554b7f60ee3a918369e26ghsaWEB
- github.com/keycloak/keycloak/commit/e3598a53678a1e3698e78eb71e04ba10ca32e5e2ghsaWEB
- github.com/keycloak/keycloak/security/advisories/GHSA-m6q9-p373-g5q8ghsaWEB
News mentions
0No linked articles in our index yet.