Description
When an application opts into DelegatingDeserializer, a producer can grow the consumer's heap without bound by sending records with unique random spring.kafka.serialization.selector header values, eventually causing GC thrash and OutOfMemoryError.
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-xvfq-4q6q-gxx7 |
| Maven | org.springframework.kafka:spring-kafka | >= 3.3.0, < 3.3.16 | 3.3.16 | GHSA-xvfq-4q6q-gxx7 |
| Maven | org.springframework.kafka:spring-kafka | >= 3.2.0, <= 3.2.13 | — | GHSA-xvfq-4q6q-gxx7 |
| Maven | org.springframework.kafka:spring-kafka | >= 2.9.0, <= 2.9.13 | — | GHSA-xvfq-4q6q-gxx7 |
| Maven | org.springframework.kafka:spring-kafka | <= 2.8.11 | — | GHSA-xvfq-4q6q-gxx7 |