Exposure of Data Element to Wrong SessionAffected versions of this package are vulnerable to Exposure of Data Element to Wrong Session via the unmarshal method in the ThriftDataFormat class of the Thrift component. An attacker can cause a route to expose data from an earlier message by sending Thrift data that omits fields, which retain values from the shared object; concurrent exchanges can also observe partially written state. In routes shared by multiple tenants or users, one party’s data can be visible while another party’s message is processed.
Notes
- The cross-sender leak requires exchanges from different users or tenants to use the same route’s shared
ThriftDataFormat instance; separate routes with separate instances do not share the stale object.
Workarounds
- Immediately copy the unmarshalled body into a new instance after the Thrift data format runs, use the copy, and do not retain references to the returned object. This prevents downstream processing from sharing that mutable object across exchanges.
How to fix Exposure of Data Element to Wrong Session? Upgrade org.apache.camel:camel-thrift to version 4.18.5, 4.22.1 or higher.
| [4.0.0,4.18.5)[4.19.0,4.22.1) |