Skip to main content

Apache Kafka Streams CVE-2026-111496

| EUVDEUVD-2026-112171 LOW
Integer Overflow or Wraparound (CWE-190)
2026-10-28 apache GHSA-f6x4-cq8q-x8cq
View

Attack ChainAIDerived

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

  1. Access
    Obtain producer write access to source topic
  2. Delivery
    Publish record with timestamp near Long.MAX_VALUE
  3. Exploit
    Broker stores future-dated record
  4. Execution
    Punctuation arithmetic overflows to negative time
  5. Persist
    StreamThread loops on lock indefinitely
  6. Impact
    Streams application unresponsive, recurs on restart

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK

1 technique across 1 tactic: Execution

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

Exploitation Conditions

Three concrete prerequisites must all hold: (1) the attacker has write/producer access to a source topic; (2) that topic feeds a Kafka Streams topology that schedules stream-time (not wall-clock) punctuation; and (3) a broker actually stores a record whose timestamp is at or near Long.MAX_VALUE. Condition (3) is the main limiter - Apache Kafka brokers from 4.0.0 reject timestamps more than one hour in the future by default via log.message.timestamp.after.max.ms, so the attack is only reachable against older brokers or deployments that have widened or disabled that bound. Impact is limited to availability of the Streams application; brokers and the broader cluster are unaffected. Authentication requirements are not confirmed from available data because no CVSS vector was provided, though the description states write access to a source topic is required.

Impact

No CVSS vector, EPSS score, KEV entry, or public PoC is present in the input, so quantitative exploitation signals are absent and cannot be compared against each other. The vuln.today decision label is 'monitor', the lowest urgency tier, which is consistent with an availability-only defect (CWE-190 integer overflow leading to an indefinite lock-holding loop) that affects a single Kafka Streams application rather than brokers or the cluster. Impact is a denial of service against the StreamThread, with no confidentiality or integrity effect. Exploitation is further gated: the attacker needs write access to a source topic whose topology uses stream-time punctuation, and the hostile timestamp must actually be stored by a broker - brokers from Apache Kafka 4.0.0 reject timestamps more than one hour in the future by default (log.message.timestamp.after.max.ms), so on default modern deployments the record never persists and the bug is not reachable. The realistic footprint is therefore older brokers, or deployments that relaxed that bound. Net assessment: this is a genuine but bounded availability issue - a real priority only for operators still on vulnerable Streams versions who also run older/relaxed brokers and expose write access to punctuation-using source topics; for everyone on default 4.0.0+ brokers the practical risk is low. No active exploitation is indicated, and no public exploit identified at time of analysis.

Exploit ScenarioDerived

An actor with producer (write) rights to a source topic feeding a Kafka Streams topology that schedules stream-time punctuation sends a single record carrying a timestamp at or near Long.MAX_VALUE. Stream time advances to that value, the next punctuation time overflows to a negative number, and PunctuationQueue re-queues and loops on it indefinitely while holding a lock, hanging the StreamThread; because the poison record persists in the topic, the hang recurs on restart. No public exploit code is identified at time of analysis, and the record only takes effect if a broker stores the future timestamp (older or relaxed-config brokers).

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Kafka Streams can be stalled indefinitely by a single record whose timestamp is at or near Long.MAX_VALUE, causing an integer overflow that moves the next stream-time punctuation to a negative time and makes PunctuationQueue re-queue it in a lock-holding loop until the StreamThread stops. EUVD lists Apache Kafka 1.1.0 through 4.1.2, 4.2.0 through 4.2.1, and 4.3.0 through 4.3.1 as affected; only the Streams application is impacted, not the brokers or cluster, and the hang returns on restart while the record stays in the topic. Exploitation requires producer write access to a source topic feeding a stream-time-punctuation topology and a broker that stores the extreme timestamp-brokers from 4.0.0 reject timestamps more than one hour in the future by default-so reachability is limited to older brokers or relaxed bounds; the assessed vector is CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H, no EPSS score is present, no KEV entry is listed, and no public exploit identified at time of analysis, with priority monitor.

RemediationAI

Vendor-released patch: upgrade Kafka Streams to 4.2.2, 4.3.2, or 4.4.0 (vendor advisory: https://kafka.apache.org/cve-list). The fix computes the next punctuation time with overflow-checked arithmetic clamped to Long.MAX_VALUE and re-queues a rescheduled punctuation only when its time moves forward. As defense in depth, keep log.message.timestamp.after.max.ms bounded on source topics and restrict write access to source topics; brokers from Apache Kafka 4.0.0 reject timestamps more than one hour in the future by default, so older brokers or deployments that widened or disabled that bound remain reachable until upgraded or the bound is enforced.

Affected VersionsENISA

Apache Kafka 4.3.0 ≤4.3.1
Apache Kafka 1.1.0 ≤4.1.2
Apache Kafka 4.2.0 ≤4.2.1

Affected Packages

euvd 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

Kafka Streams is the client-side stream-processing library in Apache Kafka, and its stream-time clock is derived from record timestamps rather than wall-clock time. The vulnerable PunctuationSchedule.next() computes the next punctuation time as timestamp + (intervalsMissed + 1) * interval with no overflow check, which is CWE-190 (Integer Overflow or Wraparound). A record with a timestamp at or near Long.MAX_VALUE advances stream time to that value, so the next stream-time punctuation overflows to a negative time; PunctuationQueue then re-queues that negative time and loops on it indefinitely while holding a lock, stalling the StreamThread. The CPE is cpe:2.3:a:apache_software_foundation:apache_kafka:*:*:*:*:*:*:*:* and the affected component is the Streams application library; brokers and the cluster are not affected. Resolution in 4.2.2, 4.3.2, and 4.4.0 uses overflow-checked arithmetic clamped to Long.MAX_VALUE and re-queues a rescheduled punctuation only when its time moves forward. Tags include integer overflow and buffer overflow, but the described mechanism is integer overflow in punctuation scheduling; the trigger is the extreme record timestamp, and authentication requirements are not confirmed beyond the assessed PR:L and the stated write access to a source topic.

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 5.3 MEDIUM

Requires topic write access (PR:L) over the network (AV:N); reachability depends on broker timestamp config beyond attacker control (AC:H); availability-only DoS so C:N/I:N/A:H.

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

Primary rating from Vendor (apache).

DescriptionCVE.org

Kafka Streams derives its stream-time clock from record timestamps. PunctuationSchedule.next() computed the next punctuation time as timestamp + (intervalsMissed + 1) * interval with no overflow check. A record with a timestamp at or near Long.MAX_VALUE advances stream time to that value, so the next stream-time punctuation overflows to a negative time. PunctuationQueue then re-queues that time and loops on it indefinitely while holding a lock, stalling the StreamThread.

Impact:

A single record is enough. The affected StreamThread stops processing, and because the record stays in the topic the hang returns on restart; an application whose partitions are all affected becomes unresponsive. Only the Streams application is affected, not the brokers or the cluster. Triggering it needs write access to a source topic whose topology uses stream-time punctuation, and a broker that stores the record: brokers from Apache Kafka 4.0.0 reject such a timestamp by default (log.message.timestamp.after.max.ms, one hour), so it is reachable only on older brokers or where that bound has been relaxed.

Mitigation:

Upgrade Kafka Streams to 4.2.2, 4.3.2, or 4.4.0. As defense in depth, keep log.message.timestamp.after.max.ms bounded on source topics and restrict write access to them.

Resolution:

From Apache Kafka 4.2.2, 4.3.2, and 4.4.0: the next punctuation time is computed with overflow-checked arithmetic (clamped to Long.MAX_VALUE), and a rescheduled punctuation is re-queued only when its time moves forward.

Threat Intelligence Overview

Prevalence
High
Apache Kafka is widely deployed enterprise streaming infrastructure; affects Streams library users
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 No
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

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

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-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)

CVE-2026-110985 HIGH
Oct 28

Apache Kafka brokers that run SASL/OAUTHBEARER with the default DefaultJwtValidator and leave sasl.oauthbearer.jwks.endp

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