Skip to main content

Spring Kafka CVE-2026-59317

| EUVDEUVD-2026-67199 MEDIUM
Improper Validation of Specified Quantity in Input (CWE-1284)
2026-08-27 vmware GHSA-v648-fvf7-jrg2
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 or exploit permissive broker ACLs
  2. Delivery
    Craft ConsumerRecord with oversized or malformed retry_topic-original-timestamp header
  3. Exploit
    Publish poisoned record to monitored Kafka topic
  4. Install
    Consumer fails processing and invokes DeadLetterPublishingRecovererFactory
  5. C2
    Unvalidated bytes passed to BigInteger constructor
  6. Execute
    JVM heap exhaustion or uncaught exception
  7. Impact
    Consumer crash and sustained message processing outage

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Input size validation
Exploitation Conditions

Exploitation requires the target application to have opted into Spring Kafka's non-blocking retry or dead-letter queue infrastructure by instantiating DeadLetterPublishingRecovererFactory - this is not active in all Spring Kafka deployments and must be explicitly configured. The attacker must hold Kafka producer access to at least one topic monitored by the vulnerable consumer, which under typical Kafka security models means valid credentials or a client certificate recognized by the broker (PR:L per CVSS); in environments with no Kafka authentication or open ACLs, this barrier is effectively absent. The malformed header is processed only when the consumer invokes the recovery path - either by sending a message that naturally fails processing or by injecting the header directly on any ConsumerRecord destined for that topic. Exploitation is strictly limited to availability (consumer crash or hang); there is no confidentiality or integrity impact per the CVSS vector (C:N/I:N). Strong Kafka broker ACLs restricting producer identity to known internal services are the primary factor limiting exploitation in hardened environments.

Impact

The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H yields a 6.5 Medium score, accurately reflecting that exploitation is network-reachable with low complexity but gated behind some level of Kafka producer access (PR:L). Real-world risk is further conditional on the deployment actively using DeadLetterPublishingRecovererFactory - applications relying only on standard Kafka consumers without the retry/DLQ subsystem are entirely unaffected, narrowing the practical attack surface. EPSS data is absent from available intelligence, and the CVE is not listed in CISA KEV, indicating no confirmed active exploitation. No POC code has been identified; these two signals together place the immediate exploitation likelihood at low-to-moderate. However, Kafka environments with permissive broker ACLs or open topic write access could effectively reduce PR:L to PR:N in practice, elevating real-world risk beyond what the CVSS vector implies. The conflicting 'Information Disclosure' source tag should be disregarded - CVSS and the description are internally consistent on an availability-only impact.

Exploit ScenarioDerived

An attacker with Kafka producer credentials - or operating from a network segment with permissive broker ACLs - publishes a ConsumerRecord to a topic consumed by a Spring Kafka application configured with the non-blocking retry/DLQ feature. The record carries a retry_topic-original-timestamp header containing several megabytes of arbitrary bytes. When message processing fails and DeadLetterPublishingRecovererFactory attempts to parse the timestamp, Java's BigInteger constructor allocates memory proportional to the header size, exhausting the consumer JVM heap and triggering an OutOfMemoryError that crashes or permanently stalls the consumer, halting all message processing on that consumer instance.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 27, 2026

Denial-of-service in Spring for Apache Kafka's DeadLetterPublishingRecovererFactory exposes consumer JVMs across all supported branches (2.8.x through 4.1.0) to crash or hang when processing messages with a crafted retry_topic-original-timestamp header. An authenticated Kafka producer can inject a ConsumerRecord carrying an oversized or malformed header byte array, which is passed without any length or format validation directly to Java's BigInteger(byte[]) constructor, triggering heap memory exhaustion or an unhandled exception that disrupts message consumption. No public exploit code has been identified and the CVE does not appear in CISA KEV at time of analysis, but low attack complexity combined with broad version coverage makes this a credible availability threat for any Spring Kafka deployment using retry or dead-letter queue features.

RemediationAI

The vendor advisory at https://spring.io/security/cve-2026-59317 should be consulted directly for exact patched release versions - specific fix version numbers are not present in the available intelligence data and have not been independently confirmed at time of analysis. As an immediate compensating control, restrict Kafka broker ACLs so that only trusted, internal producer identities can write to topics consumed by affected applications, directly neutralizing the PR:L attack prerequisite. Where the retry/DLQ feature is not operationally required, disabling or removing DeadLetterPublishingRecovererFactory from the consumer configuration eliminates the vulnerable code path entirely with no functional side effects for non-retry workloads. If the retry topology must remain active, a custom ConsumerRecordRecoverer or header-level filter can be introduced to validate that the retry_topic-original-timestamp header byte array is non-null, non-empty, and within a sane length bound before the factory processes it - this adds a defense-in-depth layer pending an official patch. Monitor the Spring security page at https://spring.io/security and the spring-kafka GitHub repository for patch releases targeting the affected branches.

Affected VersionsENISA

Spring For Apache Kafka 0 ≤2.8.12
Spring For Apache Kafka 2.9.0 ≤2.9.14
Spring For Apache Kafka 4.0.0 ≤4.0.6
Spring For Apache Kafka 3.0.0 ≤3.3.16
Spring For Apache Kafka 4.1.0

Affected Packages

euvd spring_for_apache_kafka no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in 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 (spring-kafka, cpe:2.3:a:spring:spring_for_apache_kafka:*:*:*:*:*:*:*:*) is the official Spring Framework integration library for Apache Kafka, broadly adopted in Java enterprise microservice architectures for event-driven messaging. The DeadLetterPublishingRecovererFactory is an opt-in component that routes failed consumer records to dead-letter topics as part of Spring Kafka's non-blocking retry infrastructure. The flaw lies in how this factory reads the retry_topic-original-timestamp Kafka message header: header.value() returns a raw byte array that is fed without any bounds or content check to Java's new BigInteger(byte[]) constructor, which interprets it as a two's-complement signed integer of unbounded size. A sufficiently large array exhausts heap memory; a byte sequence with an unexpected encoding can throw a NumberFormatException that propagates up the consumer call stack. No CWE is formally assigned by NVD, but the root cause is best classified under CWE-20 (Improper Input Validation) and CWE-400 (Uncontrolled Resource Consumption). Notably, the source tags include 'Information Disclosure,' which contradicts the CVSS impact metrics (C:N/I:N/A:H); the actual impact is purely availability, and the tag appears to be a categorization error.

Know when Spring 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
vuln.today AI 6.5 MEDIUM

Kafka is network-reachable (AV:N); producing to a topic requires credentials (PR:L); heap exhaustion from unbounded BigInteger allocation causes high availability impact with no confidentiality or integrity effects.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
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

DescriptionCVE.org

DeadLetterPublishingRecovererFactory 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. Spring for Apache Kafka 4.1.0 Spring for Apache Kafka 4.0.0 - 4.0.6 Spring for Apache Kafka 3.0.0 - 3.3.16 Spring for Apache Kafka 2.9.0 - 2.9.14 Spring for Apache Kafka 2.8.12 and earlier

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
High
widely used Spring integration library for Kafka in enterprise Java microservices
Data Quality
5 sources
Confidence: Medium

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.4%
Patch available No
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
High
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

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Spring

View all
CVE-2025-41243 CRITICAL POC
10.0 Sep 16

Spring Cloud Gateway Server Webflux may be vulnerable to Spring Environment property modification. Rated critical severi

CVE-2025-70982 CRITICAL POC
9.9 Jan 26

Access control bypass in SpringBlade v4.5.0 importUser function allows low-privileged users to import sensitive user dat

CVE-2026-22739 HIGH POC
8.6 Mar 24

Spring Cloud Config Server contains a path traversal vulnerability when using the native file system backend, allowing u

CVE-2025-41242 MEDIUM POC
5.9 Aug 18

Spring Framework MVC applications can be vulnerable to a “Path Traversal Vulnerability” when deployed on a non-compliant

CVE-2025-70983 CRITICAL
9.9 Jan 23

SpringBlade v4.5.0 has an access control flaw in authRoutes allowing low-privileged users to escalate to admin through t

CVE-2026-41699 CRITICAL
9.8 Jun 11

Remote code execution in Spring for GraphQL versions 1.3.0-1.3.8, 1.4.0-1.4.5, and 2.0.0-2.0.3 allows unauthenticated at

CVE-2026-59313 CRITICAL
9.8 Aug 27

Server-Sent Events (SSE) stream corruption affects Spring MVC applications built on the functional web framework across

CVE-2026-22738 CRITICAL
9.8 Mar 27

Spring AI versions 1.0.0 through 1.0.4 and 1.1.0 through 1.1.3 allow unauthenticated remote code execution through Sprin

CVE-2026-41855 CRITICAL
9.8 Jun 09

Unsafe JSON deserialization in Spring Framework's JMS message converters (MappingJackson2MessageConverter and JacksonJso

CVE-2025-41232 CRITICAL
9.1 May 21

Spring Security Aspects may not correctly locate method security annotations on private methods. Rated critical severity

CVE-2026-59283 CRITICAL
9.1 Aug 27

Safety-guard bypass in the Spring Framework SpEL engine (VMware/Broadcom) lets attacker-controlled expression input esca

CVE-2026-40982 CRITICAL
9.1 May 07

Directory traversal in Spring Cloud Config server module allows remote unauthenticated attackers to read arbitrary files

Vendor StatusVendor

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