Description
Ratpack is a toolkit for creating web applications. In versions prior to 1.9.0, a malicious attacker can achieve Remote Code Execution (RCE) via a maliciously crafted Java deserialization gadget chain leveraged against the Ratpack session store. If one's application does not use Ratpack's session mechanism, it is not vulnerable. Ratpack 1.9.0 introduces a strict allow-list mechanism that mitigates this vulnerability when used. Two possible workarounds exist. The simplest mitigation for users of earlier versions is to reduce the likelihood of attackers being able to write to the session data store. Alternatively or additionally, the allow-list mechanism could be manually back ported by providing an alternative implementation of `SessionSerializer` that uses an allow-list.
Remediation
References
https://github.com/ratpack/ratpack/security/advisories/GHSA-hc33-32vw-rpp9
https://mvnrepository.com/artifact/io.ratpack/ratpack-core
Related Vulnerabilities
CVE-2021-43306 Vulnerability in maven package org.webjars:jquery-validation
CVE-2019-1003071 Vulnerability in maven package hudson.plugins.octopusdeploy:octopusdeploy
CVE-2021-21391 Vulnerability in npm package @ckeditor/ckeditor5-image
CVE-2014-0113 Vulnerability in maven package org.apache.struts:struts2-core
CVE-2019-16561 Vulnerability in maven package org.jenkins-ci.plugins:websphere-deployer