Java Deserialization vulnerability in Spring-Kafka When Improperly Configured
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-502.
Summary
In Spring for Apache Kafka 3.0.9 and earlier and versions 2.9.10 and earlier, a possible deserialization attack vector existed, but only if unusual configuration was applied. An attacker would have to construct a malicious serialized object in one of the deserialization exception record headers. Specifically, an application is vulnerable when all of the following are true: * The user does not configure an ErrorHandlingDeserializer for the key and/or value of the record * The user explicitly sets container properties checkDeserExWhenKeyNull and/or checkDeserExWhenValueNull container properties to true. * The user allows untrusted sources to publish to a Kafka topic By default, these properties are false, and the container only attempts to deserialize the headers if an ErrorHandlingDeserializer is configured. The ErrorHandlingDeserializer prevents the vulnerability by removing any such malicious headers before processing the record.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| VMware | Spring For Apache Kafka | 2.8.x to before 2.9.11; 2.9.x to before 2.9.11; 3.0.x to before 3.0.10 | 2.9.11, 3.0.10 | Patch available | CNA |
| — | org.springframework.kafka:spring-kafka (Maven) | 2.8.1 to before 2.9.11 | 2.9.11 | Patch available | GHSA-crqf-q9fp-hwjw |
| — | org.springframework.kafka:spring-kafka (Maven) | 3.0.0 to before 3.0.10 | 3.0.10 | Patch available | GHSA-crqf-q9fp-hwjw |
- Spring For Apache Kafka VendorVMware Affected 2.8.x to before 2.9.11; 2.9.x to before 2.9.11; 3.0.x to before 3.0.10 Fixed in 2.9.11, 3.0.10 Patch available CNA
- org.springframework.kafka:spring-kafka (Maven) Vendor— Affected 2.8.1 to before 2.9.11 Fixed in 2.9.11 Patch available GHSA-crqf-q9fp-hwjw
- org.springframework.kafka:spring-kafka (Maven) Vendor— Affected 3.0.0 to before 3.0.10 Fixed in 3.0.10 Patch available GHSA-crqf-q9fp-hwjw
Remediation
- Fix · CNA Spring For Apache Kafka (Spring) Fixed in 2.9.11, 3.0.10
- Fix · GHSA-crqf-q9fp-hwjw org.springframework.kafka:spring-kafka (Maven) Fixed in 2.9.11 Advisory →
- Fix · GHSA-crqf-q9fp-hwjw org.springframework.kafka:spring-kafka (Maven) Fixed in 3.0.10 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2023-34040
- 2026-10-03 Alias added: GHSA-crqf-q9fp-hwjw
References
More VMware Spring For Apache Kafka vulnerabilities
- TI-2026-30245 Deserialization of untrusted data in VMware Spring for Apache Kafka CVSS 3.1HIGH 8.1
- TI-2026-42411 Server-side request forgery in VMware Spring for Apache Kafka CVSS 3.1MEDIUM 6.5
- TI-2026-42448 In Spring for Apache Kafka, missing header validation in… CVSS 3.1MEDIUM 6.5
- TI-2026-30240 In Spring for Apache Kafka, unbounded delegate cache keyed on user-controlled, potentially malicious selector header CVSS 3.1MEDIUM 6.5
- TI-2026-30241 In Spring for Apache Kafka, forged retry topic headers subvert retry routing and backoff behavior CVSS 3.1MEDIUM 6.5
Sources
- CVE-2023-34040 · CVE Program
- CVE-2023-34040 · NVD
- FIRST EPSS
- GHSA-crqf-q9fp-hwjw · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences