| Title | OpenBankProject OBP-API <=1.10.1 Deserialization of Untrusted Data |
|---|
| Description | OBP-API caches computed values in Redis using Twitter Chill's KryoInjection, whose default Kryo pool
(ScalaKryoInstantiator.defaultPool) has registration not required and uses Objenesis
StdInstantiatorStrategy — i.e. it will instantiate arbitrary classes found in the serialized stream,
bypassing constructors. On every cache read, the raw bytes returned by Redis GET are passed straight to
KryoInjection.invert(...).
Consequently, any party who can write the OBP Redis keyspace can achieve remote code execution in the OBP-API
JVM by planting a malicious Kryo payload (a "deserialization gadget") under a cache key that OBP later reads back.
|
|---|
| Source | ⚠️ https://github.com/OpenBankProject/OBP-API/issues/2888 |
|---|
| User | ZAST.AI (UID 87884) |
|---|
| Submission | 08/17/2026 05:39 (29 days ago) |
|---|
| Moderation | 09/15/2026 10:29 (29 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 404073 [OpenBankProject OBP-API up to 1.10.1 Kryo Redis.scala KryoInjection.invert deserialization] |
|---|
| Points | 20 |
|---|