Unsafe Deserialization in io.ratpack:ratpack-core (CVE-2021-29485)
Summary
Vulnerability in io.ratpack:ratpack-core (CVE-2021-29485). Successful exploitation can lead to full system takeover. Exploitable via SessionSerializer. Mitigation: upgrade to 1.9.0 or later.
Original description
The description as published by the source.
Impact
A malicious attacker can achieve Remote Code Execution (RCE) via a maliciously crafted Java deserialization gadget chain leveraged against the Ratpack session store.
If your application does not use Ratpack's session mechanism, it is not vulnerable.
Details
Attackers with the ability to write to session data, can potentially craft payloads that deserialize unsafe objects, leading to the ability to remotely execute arbitrary code.
This is known as an “insecure deserialization” vulnerability, or “gadget vulnerability”.
Ratpack allows session data to be stored server side in an external system such as a relational database, or client side via user cookies.
When using server side storage, the attacker would need to obtain the ability to write to the session data store.
When using client side storage, the attacker would need to obtain the secrets used to encrypt and/or sign the session data stored in user cookies.
Ratpack's session mechanism allows storing serialized objects, of arbitrary types.
The type must be specified when writing the data and when reading, with data only deserialized when there is an exact type match.
However, in the process of deserializing an object of a known/trusted/deserialization-safe type, it may attempt to deserialize unsafe types.
By default Ratpack uses Java's built-in serialization mechanism, though other serialization providers can be used.
The exact types of payloads…
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2021-29485 has been found in io.ratpack:ratpack-core.
Attackers can target a specific entry point like SessionSerializer over the network to misuse the product.
Successful exploitation can lead to full system takeover.
What to do: upgrade io.ratpack:ratpack-core to 1.9.0 or later.
If unsure, ask your IT team or search "io.ratpack:ratpack-core CVE-2021-29485" on the vendor's site.
CVE-2021-29485 (io.ratpack:ratpack-core) — CWE-502
Attack vector: remote (network-reachable) / no user interaction
Attack surface: SessionSerializer / SessionTypeFilter
Patched: 1.9.0 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
Unsafe deserialization (CWE-502) exists in io.ratpack:ratpack-core. Attackers reach the vulnerable code path via SessionSerializer.
Check the vendor advisory for the affected versions of io.ratpack:ratpack-core. Attack surface: SessionSerializer / SessionTypeFilter.
Severity: ?. Successful exploitation can lead to full system takeover.
Update to 1.9.0.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Audit SBOM/dependencies to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
Audit SBOM/dependencies for affected components.資産台帳・SBOM・依存マニフェストで io.ratpack:ratpack-core を使っているサービスとバージョンを洗い出す。
-
2Apply patch patch
Upgrade io.ratpack:ratpack-core to 1.9.0ステージング環境で 1.9.0 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- advisory nvd.nist.gov
- package github.com
- web github.com
- web mvnrepository.com