JsonToObjectTransformer resolves the json__TypeId__ message header to an arbitrary class without an allow-list

MEDIUM | AUGUST 20, 2026 | CVE-2026-47856

Description

Spring 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.

Affected Spring Products and Versions

Spring Integration:

  • 7.1.0 - 7.1.0
  • 7.0.0 - 7.0.5
  • 6.5.0 - 6.5.10
  • 6.4.0 - 6.4.12
  • 5.5.21 and earlier

Mitigation

Users of affected versions should upgrade to the corresponding fixed version.
Fix versionAvailability
7.1.0.1Enterprise Support Only
7.1.1OSS
7.0.5.1Enterprise Support Only
7.0.6OSS
6.5.11Enterprise Support Only
6.4.13Enterprise Support Only
5.5.22Enterprise Support Only

No further mitigation steps are necessary.

Credit

The issue was identified and responsibly reported by Uwez Khan

History

  • 2026-08-20: Initial vulnerability report published.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all