Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreDeadLetterPublishingRecovererFactory reads the retry_topic-original-timestamp header from an inbound ConsumerRecord and passes its raw bytes directly to new BigInteger(header.value()) with no length or format validation.
A Kafka producer with write access to a topic consumed by a @RetryableTopic listener can attach a malformed header (e.g. a zero-length byte array), causing a NumberFormatException in the destination resolver during recovery.
This aborts dead-letter publication, the error handler seeks back to the failed offset, and the cycle repeats indefinitely, stalling partition consumption.
Spring for Apache Kafka:
| Fix version | Availability |
|---|---|
| 4.1.1 | OSS |
| 4.1.0.1 | Enterprise Support Only |
| 4.0.7 | OSS |
| 4.0.6.1 | Enterprise Support Only |
| 3.3.17 | Enterprise Support Only |
| 2.9.15 | Enterprise Support Only |
| 2.8.13 | Enterprise Support Only |
No further mitigation steps are necessary.
To report a security vulnerability for a project within the Spring portfolio, see the Security Policy