Skip to main content
← All vulnerabilities
CVE-2026-41731GHSA-XQ69-5H5V-X9X4

In Spring for Apache Kafka, overly broad trusted-package matching in header mappers exposes JDK classes to deserialization

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.0.5.1, 3.3.15.1, 3.2.14, 2.9.14, 2.8.12, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Spring Spring for Apache Kafka

    From 4.0.0 · fixed in 4.0.5.1; From 3.3.0 · fixed in 3.3.15.1; From 3.2.0 · fixed in 3.2.14; From 2.9.0 · fixed in 2.9.14; From 2.8.0 · fixed in 2.8.12

  • org.springframework.kafka:spring-kafkaMaven

    From 4.0.0 · fixed in 4.0.6

  • org.springframework.kafka:spring-kafkaMaven

    From 3.3.0 · fixed in 3.3.16

  • org.springframework.kafka:spring-kafkaMaven

    From 3.2.0 · through 3.2.13

  • org.springframework.kafka:spring-kafkaMaven

    From 2.9.0 · through 2.9.13

  • org.springframework.kafka:spring-kafkaMaven

    through 2.8.11

References 1

spring.io