Skip to main content

Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

CVE-2024-9666

Severity Medium
Score 5.7/10

Summary

A vulnerability was found in the Keycloak Server. Due to improper handling of proxy headers, the Keycloak Server is vulnerable to a denial of service (DoS) attack. When Keycloak is configured to accept incoming proxy headers, it may accept non-IP values, such as obfuscated identifiers, without proper validation. This issue can lead to costly DNS resolution operations, which an attacker could exploit to tie up IO threads and potentially cause a denial of service. The attacker must have access to send requests to a Keycloak instance that is configured to accept proxy headers, specifically when reverse proxies do not overwrite incoming headers, and Keycloak is configured to trust these headers. The vulnerability affects Keycloak package versions prior to 24.0.9 and 25.0.0 through 26.0.5.

  • HIGH
  • LOCAL
  • NONE
  • UNCHANGED
  • NONE
  • LOW
  • NONE
  • HIGH

CWE-444 - HTTP Request Smuggling

Entities such as web servers, web caching proxies, and application firewalls could parse HTTP requests differently. When there are two or more such entities in the path of an HTTP request, an attacker can send a specially crafted HTTP request that is seen as two different sets of requests by the attacked devices, allowing the attacker to smuggle a request into one device without the other device being aware of it. Such a vulnerability can prove devastating, for it enables further attacks on the application, like web cache poisoning, session hijacking, cross-site scripting, security bypassing, and sensitive information exposure.

Advisory Timeline

  • Published