Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as any Kafka client
-
DeliveryCraft tiny highly compressible telemetry payload
-
ExploitSend PushTelemetry request under telemetry.max.bytes
-
ExecutionBroker decompresses unbounded into heap
-
PersistRepeat/fan out across brokers
-
ImpactBroker OutOfMemoryError and cluster availability loss
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
|
| Exploitation Conditions | Requires an attacker to hold valid authentication to the Kafka cluster as any client - the vendor description explicitly states 'an authenticated client' and notes PushTelemetry is not gated by an ACL, so no special role or privilege beyond authentication is needed. It works against default configurations: telemetry.max.bytes defaults to 1 MB and bounds only the compressed size, and on affected versions there is no configuration that fully prevents the amplification (lowering telemetry.max.bytes only proportionally reduces, not eliminates, the worst-case decompressed size). No user interaction and no non-default feature flag are required. The primary limiting factor is the authentication requirement; note the input provides no CVSS vector, so the privilege level is taken from the vendor text rather than a confirmed PR metric. |
| Impact | This is a denial-of-service vulnerability (CWE-409, improper handling of highly compressed data) in Apache Kafka's broker-side PushTelemetry API, with no CVSS score or vector supplied in the input - severity must therefore be assessed independently rather than read off a vendor rating. The core signals are mixed-to-moderate: there is no CISA KEV listing, no public exploit or PoC reference, and no EPSS probability in the input, so there is no evidence of active or imminent exploitation. The vuln.today decision label is 'this_month', indicating a near-term but non-emergency priority rather than act_now/emergency. Impact is confined to availability: successful exploitation causes broker heap exhaustion and OutOfMemoryError (crash/degradation), with no confidentiality or integrity impact described. The amplification is genuinely dangerous in substance - a small, highly compressible payload (e.g. gzipped zeros) expands to hundreds of megabytes of heap, and the API is reachable by ANY authenticated client with no ACL gating, so the bar is low once a client can authenticate and cluster-wide availability can be hit by targeting multiple brokers. The main factor limiting real-world risk is that it is not remote-unauthenticated: the vendor description explicitly states an authenticated client is required. Net assessment: a legitimate, reasonably prioritized availability bug for any multi-tenant or externally-reachable Kafka deployment, but not a drop-everything emergency on the current signals (no KEV, no PoC, non-emergency decision label). |
| Exploit ScenarioDerived | An authenticated Kafka client sends a PushTelemetry request (KIP-714) carrying a small, highly compressible metrics payload such as gzip-compressed zeros, whose compressed size stays under telemetry.max.bytes (default 1 MB). The broker validates only the compressed size, then ClientTelemetryUtils.decompress() expands it unbounded into hundreds of megabytes of heap; repeated or concurrent requests, optionally fanned out across multiple brokers, drive the JVM to OutOfMemoryError and crash or degrade the cluster. No public exploit or PoC reference is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Apache Kafka brokers can be driven into heap exhaustion by any authenticated client because the PushTelemetry (KIP-714) path limits the compressed request size but not the decompressed output. A tiny, highly compressible payload can expand to hundreds of megabytes, and repeated or concurrent requests can trigger OutOfMemoryError, degrade brokers, and affect cluster availability; PushTelemetry is not ACL-gated. No public exploit was identified at time of analysis, and vendor fixes are available in Apache Kafka 4.2.2, 4.3.1, and 4.4.0.
RemediationAI
Upgrade to Apache Kafka 4.2.2, 4.3.1, or 4.4.0. Those releases enforce a maximum decompressed size equal to telemetry.max.bytes (default 1 MB), read decompression in bounded chunks, and abort with TelemetryTooLargeException instead of fully expanding an oversized payload in heap. On affected versions no configuration fully prevents the amplification; lowering telemetry.max.bytes reduces the worst-case decompressed size proportionally and is only a partial mitigation. The vendor advisory is available at https://kafka.apache.org/cve-list.
Affected VersionsENISA
Affected Packages
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
CWE-409 (Improper Handling of Highly Compressed Data) applies to the broker-side PushTelemetry API introduced by KIP-714. On affected versions, telemetry.max.bytes (default 1 MB) is enforced only against the compressed request body, while ClientTelemetryUtils.decompress() expands the payload into a heap buffer with no cap on decompressed output, reading until the compressed input is exhausted. A gzip stream of zeros or similarly compressible data can therefore expand far beyond the compressed limit. Fixed builds enforce a maximum decompressed size equal to telemetry.max.bytes, read in bounded chunks, and abort with TelemetryTooLargeException once the decompressed total exceeds the limit. The input supplies no CVSS score or vector; the independently assessed vector is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, with the main prerequisite being any valid authenticated client session rather than a special role or ACL permission.
Know when 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
Network-reachable telemetry API (AV:N), simple crafted payload (AC:L), requires any authenticated client (PR:L), availability-only heap-exhaustion impact so C:N/I:N/A:H within the broker (S:U).
Primary rating from Vendor (apache).
DescriptionCVE.org
The broker-side PushTelemetry API (KIP-714) validates only the compressed size of a client's metrics payload against telemetry.max.bytes (default 1 MB) before decompressing it. ClientTelemetryUtils.decompress() then decompresses the payload with no limit on the decompressed output size, growing a heap buffer until the compressed input is exhausted. A small, highly compressible payload (for example gzip-compressed zeros) can therefore expand to hundreds of megabytes of broker heap.
Impact:
An authenticated client can send a PushTelemetry request with a small compressed payload that decompresses to a very large size, consuming broker heap out of proportion to the request size. Repeated or concurrent requests can exhaust the broker heap and cause an OutOfMemoryError, degrading or crashing the broker; a client that targets multiple brokers can affect cluster availability. PushTelemetry is available to any authenticated client and is not gated by an ACL.
Mitigation:
Upgrade to Apache Kafka 4.2.2, 4.3.1, or 4.4.0. On affected versions there is no configuration that fully prevents the amplification, because telemetry.max.bytes bounds only the compressed size; lowering telemetry.max.bytes reduces the worst-case decompressed size proportionally and is a partial mitigation.
Resolution:
- From Apache Kafka 4.2.2, 4.3.1, and 4.4.0: ClientTelemetryUtils.decompress() enforces a maximum decompressed size equal to telemetry.max.bytes (default 1 MB). Decompression reads in bounded chunks and aborts with a TelemetryTooLargeException once the decompressed total exceeds the limit, so an over-large or highly compressible payload is rejected instead of being fully expanded in heap. The decompressed size is therefore bounded by default.
Threat Intelligence Overview
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.
What every action level means
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
More in Apache Kafka
View allApache Kafka 4.1.0 and 4.1.1 accept forged JWT tokens without signature validation, allowing remote unauthenticated atta
Apache Kafka's NetworkClient component logs entire request and response payloads at DEBUG level, exposing sensitive auth
Improper authorization in Apache Kafka 4.0.0-4.3.0 arises from a discrepancy between the documented ACL requirement and
Memory exhaustion in the Apache Kafka broker lets an authenticated principal holding Write permission on a topic submit
Apache Kafka brokers that have an authorizer enabled will read a file or environment variable from the broker host and r
Kafka Connect workers leak plaintext secrets through the REST API's /connector-plugins/{connector-type}/config/validate
Authentication bypass in Apache Kafka Connect's isolated admin REST API allows unauthenticated network attackers to read
Network-reachable, unauthenticated deserialization flaws in Apache Kafka’s clients library and Kafka Streams can force m
Kafka Streams can be stalled indefinitely by a single record whose timestamp is at or near Long.MAX_VALUE, causing an in
Unauthenticated remote attackers can exhaust broker heap and trigger process-wide GC stalls on Apache Kafka by declaring
Heap exhaustion in Apache Kafka allows remote attackers to crash brokers by sending requests that declare an array eleme
Apache Kafka brokers that run SASL/OAUTHBEARER with the default DefaultJwtValidator and leave sasl.oauthbearer.jwks.endp
EUVD-2026-112168
GHSA-r6fp-x62f-pxfv
CVE.org
Exploit-DB