Description
Ratpack is a toolkit for creating web applications. In versions prior to 1.9.0, 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. 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. The vulnerability was patched in Ratpack 1.9.0. As a workaround, ensure that `ServerConfigBuilder::publicAddress` correctly configures the server in production.
Remediation
References
https://github.com/ratpack/ratpack/security/advisories/GHSA-w6rq-6h34-vh7q
https://portswigger.net/web-security/web-cache-poisoning
Related Vulnerabilities
CVE-2020-7709 Vulnerability in maven package org.webjars.npm:json-pointer
CVE-2023-40810 Vulnerability in maven package org.opencrx:opencrx-core-models
CVE-2017-7664 Vulnerability in maven package org.apache.openmeetings:openmeetings-server
CVE-2018-1000180 Vulnerability in maven package org.bouncycastle:bcprov-jdk15on
CVE-2022-36917 Vulnerability in maven package org.jenkins-ci.plugins:google-cloud-backup