GitHub Advisoryadvisory · Maven
GHSA-xq69-5h5v-x9x4 In Spring for Apache Kafka, overly broad trusted-package matching in header mappers exposes JDK classes to deserialization
HIGH
Official page ↗
- Aliases
- CVE-2026-41731
- Ecosystem
- Maven
- Packages
- org.springframework.kafka:spring-kafka
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-502
- Reviewed
- 2026-06-12
Affected packages
• Maven org.springframework.kafka:spring-kafka: >= 4.0.0, < 4.0.6 → fixed in 4.0.6
• Maven org.springframework.kafka:spring-kafka: >= 3.3.0, < 3.3.16 → fixed in 3.3.16
• Maven org.springframework.kafka:spring-kafka: >= 3.2.0, <= 3.2.13 (no fix yet)
• Maven org.springframework.kafka:spring-kafka: >= 2.9.0, <= 2.9.13 (no fix yet)
• Maven org.springframework.kafka:spring-kafka: <= 2.8.11 (no fix yet)
Description
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.
Related
Alias · CVE (1)
- CVE-2026-41731 JsonKafkaHeaderMapper and the deprecated DefaultKafkaHeaderMapper matched type headers against trusted packages using a prefix check,… vulnerability
Weakness · CWE (1)
- CWE-502 Deserialization of Untrusted Data weakness