Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreSpring Integration's JSON to object conversion uses the json__TypeId__ header to choose the deserialization target type, and resolves that header value to a class with ClassUtils.forName and no type/package allow-list.
When the header originates from an external producer (it is mapped from the inbound transport, e.g. AMQP/Kafka, into the message), an attacker controls which class the framework loads and which type the JSON payload is bound into.
Spring Integration:
| Fix version | Availability |
|---|---|
| 7.1.0.1 | Enterprise Support Only |
| 7.1.1 | OSS |
| 7.0.5.1 | Enterprise Support Only |
| 7.0.6 | OSS |
| 6.5.11 | Enterprise Support Only |
| 6.4.13 | Enterprise Support Only |
| 5.5.22 | Enterprise Support Only |
No further mitigation steps are necessary.
The issue was identified and responsibly reported by Uwez Khan
To report a security vulnerability for a project within the Spring portfolio, see the Security Policy