Skip to main content

Apache Kafka EUVDEUVD-2026-112210

| CVE-2026-83525 LOW
Use of Incorrect Operator (CWE-480)
2026-10-28 apache GHSA-34hc-fwhq-c7v8
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with CLUSTER_ACTION privilege
  2. Exploit
    Send FetchSnapshotRequest with empty topics or empty partitions
  3. Execution
    Faulty validation indexes missing element
  4. Impact
    Unhandled exception terminates controller (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Use of incorrect operator
Exploitation Conditions

Requires an authenticated principal with CLUSTER_ACTION authorization, a privileged cluster-level permission normally granted only to broker/controller identities - not to ordinary producers/consumers - so the practical attacker is a compromised or malicious broker or a holder of inter-broker credentials. The vulnerable code path is the KRaft FetchSnapshot RPC handler in KafkaRaftClient, meaning the target must be running a KRaft-based controller (ZooKeeper-mode deployments lack this Raft path, per the source-code evidence). The specific trigger is a FetchSnapshotRequest with an empty topics array or a topic carrying no partitions; the incorrect operator (CWE-480) causes the handler to index a non-existent element. Limiting factors: the CLUSTER_ACTION authorization requirement, the KRaft-mode prerequisite, and the availability-only (no data exposure) impact.

Impact

No official CVSS vector or EPSS score was supplied, and the vuln.today Decision label is 'monitor' - the lowest-urgency signal in this dataset. The flaw is confirmed by the Apache patch PR (#23185) and the Kafka CVE list, but there is no CISA KEV listing, no EPSS probability, and no exploit reference, so there is no indication of active or widespread exploitation. The impact is availability-only (controller process termination); there is no confidentiality or integrity consequence. Crucially, exploitation requires an authenticated principal holding CLUSTER_ACTION authorization, which is a privileged, cluster-level permission normally reserved for broker/controller identities rather than ordinary clients - this sharply limits the realistic attacker population to a compromised or malicious broker, or an actor who has already obtained inter-broker credentials. The code evidence places the bug in the KRaft raft module (KafkaRaftClient FetchSnapshot handler), so the exposure is specific to KRaft-mode deployments; this is inferred from the diff rather than stated in the description. Net: a genuine but lower-priority availability bug - the high privilege prerequisite and absence of exploitation signals outweigh the controller-crash impact, consistent with the 'monitor' decision label. Treat it as routine patching during maintenance rather than an emergency.

Exploit ScenarioDerived

An actor who already holds CLUSTER_ACTION authorization (for example a compromised or rogue broker, or a stolen inter-broker credential) sends a crafted FetchSnapshotRequest whose topics array is empty or whose topic contains no partitions. The incorrect boolean operator in the handler's validation lets the request reach code that indexes the empty topic list, throwing an unhandled exception that terminates the KRaft controller process and causes a denial of service. No public exploit was identified at time of analysis; only the vendor patch and advisory are referenced.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Denial of service in Apache Kafka's KRaft controller affects releases 2.8.0 through 4.2.1 and 4.3.0 through 4.3.1, where a remote authenticated principal holding CLUSTER_ACTION authorization can terminate the controller process by sending a crafted FetchSnapshotRequest whose topics array is empty or whose single topic carries no partitions. The impact is availability-only: the controller dies, taking cluster metadata management down with it, but no data is exposed or altered (assessed CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). CLUSTER_ACTION is a cluster-level permission normally held by broker/controller identities rather than ordinary producers or consumers, so the realistic attacker is a compromised or malicious broker or a holder of inter-broker credentials. No public exploit has been identified at time of analysis, no CISA KEV entry exists, and the vuln.today decision label is 'monitor'.

RemediationAI

Vendor-released patch: upgrade to Apache Kafka 4.2.2, 4.3.2, or 4.4.0, all of which contain the corrected topic/partition validation (PR apache/kafka#23185) so malformed FetchSnapshotRequests are rejected with INVALID_REQUEST rather than crashing the controller; clusters on unsupported 4.1.x and earlier branches should move to 4.2.2 or later, and the advisory is at https://kafka.apache.org/cve-list. Until patching is possible, restrict CLUSTER_ACTION authorization to the minimum set of broker and controller principals, since the trigger requires that cluster-level permission - the trade-off is tighter ACL surface that must be validated against inter-broker and controller traffic or replication breaks. Where the KRaft migration is not yet complete, remaining on ZooKeeper mode avoids the Raft FetchSnapshot path entirely, but that forgoes KRaft features and is not a long-term substitute for upgrading. Monitor controller logs for unhandled exceptions or unexpected process restarts as a detection signal, and note that no vendor-documented hotfix or configuration flag is identified in the available sources beyond upgrading.

Affected VersionsENISA

Apache Kafka 2.8.0 <4.2.2
Apache Kafka 4.3.0 <4.3.2

Affected Packages

euvd apache_kafka fix: 4.2.2, 4.3.2

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

The flaw is a classic CWE-480 (use of an incorrect operator) in the KRaft Raft layer of Apache Kafka, specifically in KafkaRaftClient.handleFetchSnapshotRequest and the parallel handleFetchSnapshotResponse path in the raft module. The original guard read if (data.topics().size() != 1 && data.topics().get(0).partitions().size() != 1); because the two checks were joined with && instead of ||, a request with an empty topics list short-circuits past the size check evaluation logic and the code proceeds to call data.topics().get(0), indexing a non-existent element. The same faulty construct allowed a topic entry containing zero partitions to pass validation. The upstream fix (PR apache/kafka#23185) replaces both call sites with helper methods RaftUtil.hasValidTopicPartition(FetchSnapshotRequestData) and hasValidTopicPartition(FetchSnapshotResponseData), each asserting topics().size() 1 && topics().get(0).partitions().size() 1, and adds unit tests covering both the empty-topics and empty-partitions cases, which now return Errors.INVALID_REQUEST instead of reaching the indexing path. Because this code lives in the Raft/KRaft consensus implementation, ZooKeeper-mode deployments do not exercise the vulnerable path; only KRaft-based controllers are exposed. The unhandled exception during request handling propagates far enough to terminate the controller process.

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

Vendor (apache) PRIMARY LOW
vuln.today AI 4.9 MEDIUM

Network-reachable RPC (AV:N) with a reliable crafted-request trigger (AC:L); CLUSTER_ACTION is a privileged cluster permission so PR:H; no data impact, availability-only controller crash (A:H).

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

DescriptionCVE.org

Incorrect operator (CWE-480) in the FetchSnapshot RPC handler in Apache Kafka from 2.8.0 before 4.2.2, and from 4.3.0 before 4.3.2 on all platforms allows an authenticated attacker with CLUSTER_ACTION privilege to cause a denial of service (controller process termination) via a crafted FetchSnapshotRequest with an empty topics array or a topic with no partitions.

Users are recommended to upgrade to version 4.2.2, 4.3.2, or 4.4.0, which fix this issue. Users on unsupported branches (4.1.x and earlier) should upgrade to 4.2.2 or later.

Threat Intelligence Overview

Prevalence
High
Apache Kafka is widely deployed enterprise streaming infrastructure
Data Quality
2 sources
Confidence: Low

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 LOW
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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.

Attack Technique

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

CVE-2026-33557 CRITICAL
9.1 Apr 20

Apache Kafka 4.1.0 and 4.1.1 accept forged JWT tokens without signature validation, allowing remote unauthenticated atta

CVE-2026-33558 MEDIUM
5.3 Apr 20

Apache Kafka's NetworkClient component logs entire request and response payloads at DEBUG level, exposing sensitive auth

CVE-2026-41115 MEDIUM
4.3 Jun 02

Improper authorization in Apache Kafka 4.0.0-4.3.0 arises from a discrepancy between the documented ACL requirement and

CVE-2026-114349 HIGH
Oct 28

Memory exhaustion in the Apache Kafka broker lets an authenticated principal holding Write permission on a topic submit

CVE-2026-112375 HIGH
Oct 28

Apache Kafka brokers that have an authorizer enabled will read a file or environment variable from the broker host and r

CVE-2026-116593 MEDIUM
Oct 28

Kafka Connect workers leak plaintext secrets through the REST API's /connector-plugins/{connector-type}/config/validate

CVE-2026-115644 LOW
Oct 28

Authentication bypass in Apache Kafka Connect's isolated admin REST API allows unauthenticated network attackers to read

CVE-2026-111551 HIGH
Oct 28

Network-reachable, unauthenticated deserialization flaws in Apache Kafka’s clients library and Kafka Streams can force m

CVE-2026-111496 LOW
Oct 28

Kafka Streams can be stalled indefinitely by a single record whose timestamp is at or near Long.MAX_VALUE, causing an in

CVE-2026-111115 HIGH
Oct 28

Unauthenticated remote attackers can exhaust broker heap and trigger process-wide GC stalls on Apache Kafka by declaring

CVE-2026-111108 HIGH
Oct 28

Heap exhaustion in Apache Kafka allows remote attackers to crash brokers by sending requests that declare an array eleme

CVE-2026-111073 MEDIUM
Oct 28

Apache Kafka brokers can be driven into heap exhaustion by any authenticated client because the PushTelemetry (KIP-714)

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