A user supplied X-Forwarded-Host
header can be used to perform cache poisoning of a cache fronting a Ratpack server if the cache key does not include the X-Forwarded-Host
header as a cache key.
Users are only vulnerable if they do not configure a custom PublicAddress
instance. A custom PublicAddress
can be specified by using ServerConfigBuilder::publicAddress. For versions prior to 1.9.0, by default, Ratpack utilizes an inferring version of PublicAddress
which is vulnerable.
This can be used to perform redirect cache poisoning where an attacker can force a cached redirect to redirect to their site instead of the intended redirect location.
As of Ratpack 1.9.0, two changes have been made that mitigate this vulnerability:
In production, ensure that ServerConfigBuilder::publicAddress correctly configures the server.
{ "nvd_published_at": "2021-06-29T15:15:00Z", "github_reviewed_at": "2021-06-30T17:50:31Z", "severity": "HIGH", "github_reviewed": true, "cwe_ids": [ "CWE-807" ] }