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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Spring | Spring for Apache Kafka | 4.0.0 – < 4.0.5.1, 3.3.0 – < 3.3.15.1, 3.2.0 – < 3.2.14, 2.9.0 – < 2.9.14, 2.8.0 – < 2.8.12 | 4.0.5.1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Maven | org.springframework.kafka:spring-kafka | >= 4.0.0, < 4.0.6 | 4.0.6 | GHSA-xq69-5h5v-x9x4 |
| Maven | org.springframework.kafka:spring-kafka | >= 3.3.0, < 3.3.16 | 3.3.16 | GHSA-xq69-5h5v-x9x4 |
| Maven | org.springframework.kafka:spring-kafka | >= 3.2.0, <= 3.2.13 | — | GHSA-xq69-5h5v-x9x4 |
| Maven | org.springframework.kafka:spring-kafka | >= 2.9.0, <= 2.9.13 | — | GHSA-xq69-5h5v-x9x4 |
| Maven | org.springframework.kafka:spring-kafka | <= 2.8.11 | — | GHSA-xq69-5h5v-x9x4 |