Skip to main content

Spring for Apache Kafka EUVDEUVD-2026-35903

| CVE-2026-41726 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-06-10 security@vmware.com GHSA-xvfq-4q6q-gxx7
6.5
CVSS 3.1 · Vendor: vmware
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain Kafka producer credentials (PR:L)
  2. Delivery
    Connect to target Kafka cluster
  3. Exploit
    Produce records with unique random spring.kafka.serialization.selector headers
  4. Install
    Consumer caches each unique selector without eviction
  5. C2
    JVM heap grows unbounded
  6. Execute
    GC thrash triggers OutOfMemoryError
  7. Impact
    Consumer process crashes (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The application must explicitly opt into Spring for Apache Kafka's DelegatingDeserializer - this is not the default configuration, so deployments using standard StringDeserializer, JsonDeserializer, or other non-delegating implementations are not vulnerable. The attacker must hold authenticated Kafka producer credentials (PR:L per CVSS vector) with write access to at least one topic that the target consumer subscribes to. No special platform, OS, or additional configuration beyond the DelegatingDeserializer opt-in is required. Exploitation is limited by: (1) the authentication barrier for Kafka producer access, (2) the non-default nature of DelegatingDeserializer, and (3) the scoped blast radius - only the JVM process running the consumer is affected, not other services or the Kafka broker itself. There is no user interaction requirement and no constraint on the network path beyond reachability to the Kafka cluster.

Impact

The CVSS base score of 6.5 (Medium) is broadly accurate for this class of vulnerability. The vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H indicates the attack is network-reachable, requires no special conditions or user interaction, but does require low-privilege authentication (PR:L) - meaning the attacker must be an authenticated Kafka producer with write access to a topic the target consumer is subscribed to. This is a meaningful barrier in well-secured environments but is trivially satisfied in multi-tenant Kafka clusters or cases where producer credentials are broadly distributed. No KEV listing and no public exploit code identified at time of analysis, making this unlikely to be opportunistically exploited at scale currently; however, the attack is straightforward to implement manually without sophisticated tooling. The impact is scoped to the consumer JVM process (S:U), so the blast radius is limited to availability of the consuming application rather than infrastructure-wide impact. The combination of low attack complexity and high availability impact means that once an attacker has producer credentials, exploitation is reliable. Priority should be highest for internet-exposed Kafka consumers or multi-tenant deployments where producer trust boundaries are weak.

Exploit ScenarioDerived

An attacker with authenticated Kafka producer credentials - for instance, a compromised microservice or a malicious tenant in a shared Kafka cluster - writes a high-volume stream of records to a topic consumed by a target Spring application using DelegatingDeserializer. Each record carries a different randomly generated spring.kafka.serialization.selector header value, causing the consumer to accumulate unbounded cache entries on its JVM heap. Over time, heap exhaustion triggers increasingly severe GC pauses and ultimately an OutOfMemoryError, crashing the consumer process. No public exploit code has been identified at time of analysis, but the attack requires only standard Kafka producer APIs and is trivially scriptable.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 10, 2026

Unbounded heap growth in Spring for Apache Kafka's DelegatingDeserializer allows an authenticated network producer to trigger a Denial of Service against any consumer application that opts into this deserializer. By flooding the consumer with Kafka records carrying unique, randomized spring.kafka.serialization.selector header values, an attacker forces unbounded cache growth on the consumer's JVM heap, ultimately inducing GC thrash and OutOfMemoryError. No public exploit identified at time of analysis, and this is not listed in the CISA KEV catalog, but the low-complexity, network-accessible attack surface warrants prompt remediation for affected deployments.

RemediationAI

The vendor advisory at https://spring.io/security/cve-2026-41726 should be consulted for confirmed fixed versions, as no explicit patch release versions were included in the input data; based on the affected ranges, versions beyond 4.0.5, 3.3.15, 3.2.13, 2.9.13, and 2.8.11 respectively are the expected fix targets but this must be verified against the advisory before upgrading. If immediate upgrade is not possible, the most actionable compensating control is to avoid opting into DelegatingDeserializer altogether - replacing it with a static deserializer implementation eliminates the vulnerable code path entirely, with the trade-off that dynamic deserialization dispatch based on record headers will no longer be available. If DelegatingDeserializer is operationally required, restricting Kafka producer ACLs to only fully trusted internal services limits the attacker population that can deliver malicious headers, though this does not eliminate the vulnerability. Additionally, JVM heap monitoring and alerting on abnormal growth, combined with consumer process restart automation, can reduce the operational impact of an exploit but should not be treated as a substitute for patching.

Affected VersionsENISA

Spring For Apache Kafka 4.0.0 <4.0.6
Spring For Apache Kafka 2.9.0 <2.9.14
Spring For Apache Kafka 3.3.0 <3.3.16
Spring For Apache Kafka 2.8.0 <2.8.12
Spring For Apache Kafka 3.2.0 <3.2.14

Affected Packages

maven org.springframework.kafka:spring-kafka fix: 3.3.16, 4.0.6
euvd spring_for_apache_kafka fix: 2.8.12, 2.9.14, 3.2.14, 3.3.16, 4.0.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Spring for Apache Kafka's DelegatingDeserializer is a pluggable deserialization facility that uses the spring.kafka.serialization.selector Kafka record header to dynamically dispatch to different deserializer implementations at runtime. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the framework caches or registers entries for each unique selector header value it encounters but applies no eviction policy, cap, or validation on these entries. Because header values are producer-controlled and unbounded, an adversary with producer access can inject arbitrarily large numbers of unique strings into this cache structure, growing the JVM heap without limit until garbage collection is unable to reclaim sufficient memory. The affected component is present across five major release lines of the Spring for Apache Kafka library, a widely used integration layer between Spring Boot/Framework applications and Apache Kafka. The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H) confirms this is a pure availability impact with no confidentiality or integrity consequence.

Know when Spring For Apache Kafka gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (vmware) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat 6.5 MEDIUM

Primary rating from Vendor (vmware).

CVSS VectorVendor: vmware

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Jun 10, 2026 - 02:01 EUVD
CVE Published
Jun 10, 2026 - 00:16 nvd
MEDIUM 6.5

DescriptionCVE.org

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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 32 maven packages depend on org.springframework.kafka:spring-kafka (10 direct, 22 indirect)

Ecosystem-wide dependent count for version 4.0.0.

Threat Intelligence Overview

EPSS Score
0.0%
Top 88% exploitable
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Related Vulnerabilities in Spring Kafka Deserialization and Validation Flaws

View all 3

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy