GHSA-xq69-5h5v-x9x4
In Spring for Apache Kafka, overly broad trusted-package matching in header mappers exposes JDK classes to deserialization
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Maven | org.springframework.kafka:spring-kafka | >= 4.0.0, < 4.0.6 | 4.0.6 |
| Maven | org.springframework.kafka:spring-kafka | >= 3.3.0, < 3.3.16 | 3.3.16 |
| Maven | org.springframework.kafka:spring-kafka | >= 3.2.0, <= 3.2.13 | no fix listed |
| Maven | org.springframework.kafka:spring-kafka | >= 2.9.0, <= 2.9.13 | no fix listed |
| Maven | org.springframework.kafka:spring-kafka | <= 2.8.11 | no fix listed |
Details
As written in the advisory (Markdown source, shown as plain text).
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.
References
External links from the advisory. They lead to third-party sites.