Deserialization allow-list silently bypassed: setBeanClassLoader replaces deserializer but mapper keeps stale reference

HIGH | AUGUST 20, 2026 | CVE-2026-59307

Description

An operator who calls JdbcMessageStore.addAllowedPatterns(...) to restrict deserialization receives no protection at all when the store is a Spring-managed bean. setBeanClassLoader, invoked by the container as part of BeanClassLoaderAware, replaces the store's deserializing converter with a new permit-all instance, but the row mapper retains its original reference and continues using it. The allow-list configured through addAllowedPatterns is therefore never consulted, and the operator has no indication that it was bypassed. An attacker who can write bytes into INT_MESSAGE.MESSAGE_CONTENT achieves Java-deserialization RCE despite the operator believing an allow-list is enforced.

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

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

No further mitigation steps are necessary.

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