Impact
The vulnerability resides in JsonKafkaHeaderMapper and DefaultKafkaHeaderMapper of Spring for Apache Kafka. They match type headers against trusted packages using a simple prefix check, so trusting one package implicitly trusts all its subpackages. When combined with Jackson’s default bean deserialization, a producer can supply header values that trigger the consumer to deserialize arbitrary JDK types. Deserializing arbitrary Java objects can lead to remote code execution, data corruption, or denial of service.
Affected Systems
Spring for Apache Kafka versions 2.8.0 to 2.8.11, 2.9.0 to 2.9.13, 3.2.0 to 3.2.13, 3.3.0 to 3.3.15, and 4.0.0 to 4.0.5 are affected. The issue affects applications that use the default header mappers without restricting the trusted package list.
Risk and Exploitability
The CVSS score of 8.1 classifies this as a high severity vulnerability. EPSS is not available, and the vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is a malicious message producer that sends a crafted header in a Kafka message, causing a consumer to deserialize a chosen JDK class when the message is processed. The exploit requires network access to the Kafka cluster and the ability to produce messages to a topic that is consumed by an application using the default header mappers.
OpenCVE Enrichment