CVE-2026-41732: In Spring for Apache Pulsar, overly broad trusted-package matching in header mapper exposes JDK classes to deserialization

HIGH | JUNE 09, 2026 | CVE-2026-41732

Description

JsonPulsarHeaderMapper matched type headers against trusted packages using a prefix check, meaning that trusting any package implicitly trusted all of its subpackages. Additionally, an empty trusted-packages configuration fell back to trusting all packages rather than applying a safe default allow-list. Combined with Jackson's default bean deserialization, a producer could supply crafted header values that caused the consumer to deserialize arbitrary JDK types, including classes whose constructors carry side effects such as allocating file descriptors or spawning thread pools.

Affected Spring Products and Versions

Spring for Apache Pulsar:

  • 2.0.0 - 2.0.5
  • 1.2.0 - 1.2.17
  • 1.1.0 - 1.1.17

Versions that are no longer supported are also affected.

Mitigation

Users of affected versions should upgrade to the corresponding fixed version.

Affected version(s) Fix version Availability
2.0.x 2.0.6 OSS
2.0.5.1 Commercial
1.2.x 1.2.18 OSS
1.2.17.1 Commercial
1.1.x 1.1.18 Commercial

No further mitigation steps are necessary.

Credit

This issue was discovered internally.

References

History

  • 2026-06-09: 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