CVE-2021-29479
Java vulnerability analysis and mitigation

Overview

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 (GitHub Advisory).

Technical details

The vulnerability stems from the default PublicAddress implementation that infers the address from the request context instead of using a configured bind host/port. When a user supplies an X-Forwarded-Host header, it can be used to manipulate the cached response if the cache implementation doesn't include this header in its cache key. The vulnerability has been assigned a CVSS v3.1 score of 7.0 (HIGH) with vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L (GitHub Advisory).

Impact

This vulnerability can be exploited to perform redirect cache poisoning where an attacker can force a cached redirect to redirect to their site instead of the intended redirect location. This means that subsequent users accessing the cached content could be redirected to malicious sites (GitHub Advisory, PortSwigger).

Mitigation and workarounds

For versions prior to 1.9.0, users should ensure that ServerConfigBuilder::publicAddress correctly configures the server in production. As of Ratpack 1.9.0, two changes have been made to mitigate this vulnerability: 1) The default PublicAddress implementation no longer infers the address from the request context, instead relying on the configured bind host/port, and 2) Relative redirects issued by the application are no longer absolutized but are passed through as-is (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related Java vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2025-14306CRITICAL10
  • JavaJava
  • net.sf.robocode:robocode.core
NoYesDec 09, 2025
CVE-2025-14307CRITICAL9.3
  • JavaJava
  • net.sf.robocode:robocode.battle
NoYesDec 09, 2025
CVE-2025-66566HIGH8.2
  • JavaJava
  • at.yawk.lz4:lz4-java
NoYesDec 05, 2025
CVE-2025-66623HIGH7.4
  • JavaJava
  • io.strimzi:strimzi
NoYesDec 05, 2025
GHSA-93fv-4pm9-xp28MEDIUM6.9
  • JavaJava
  • net.dv8tion:jda
NoYesDec 09, 2025

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management