CVE-2026-41731

Summary

JsonKafkaHeaderMapper and the deprecated DefaultKafkaHeaderMapper matched type headers against trusted packages using a prefix check, meaning that trusting any package implicitly trusted all of its subpackages. Combined with Jackson's default bean deserialization, a producer could supply crafted header values that caused the consumer to deserialize arbitrary JDK types.

Affected versions: Spring for Apache Kafka 4.0.0 through 4.0.5; 3.3.0 through 3.3.15; 3.2.0 through 3.2.13; 2.9.0 through 2.9.13; 2.8.0 through 2.8.11.

Affected Software

VendorProductVersion RangeStatus
SpringSpring for Apache Kafka4.0.0 < 4.0.5.1affected
SpringSpring for Apache Kafka3.3.0 < 3.3.15.1affected
SpringSpring for Apache Kafka3.2.0 < 3.2.14affected
SpringSpring for Apache Kafka2.9.0 < 2.9.14affected
SpringSpring for Apache Kafka2.8.0 < 2.8.12affected

Weaknesses

  • CWE-502: CWE-502: Deserialization of Untrusted Data

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: total

spring-kafka: Spring for Apache Kafka: Arbitrary code execution via insecure deserialization of crafted header values

Additional References

References