Skip to main content
No exploitation reportedAwaiting NVD analysis

CVE-2026-111496

Apache Kafka: Kafka Streams StreamThread hang from integer overflow in stream-time punctuation

No exploitation reported by the sources we read.

  • Published2026-10-28
  • WeaknessCWE-190 · CWE-835

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

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.

Timeline

dates in UTC
  1. 2026-10-2816:45CVE publishedCNA

Versions per branch

Products declared by the CNA1 product

As apache, the CNA that assigned this CVE, declared them in the CVE record; versions as written.

  • Apache Software Foundation Apache Kafkaother versions: not affected

    package org.apache.kafka:kafka-streamshttps://repo.maven.apache.org/maven2

    Affected
    • ≥ 1.1.0, ≤ 4.1.2no fix statedsemver
    • ≥ 4.2.0, ≤ 4.2.1no fix statedsemver
    • ≥ 4.3.0, ≤ 4.3.1no fix statedsemver

Source: the CNA record (CVE Program), © The MITRE Corporation,CVE Terms of UseCVE recordupdated 2026-10-28

Distribution builds and vendor advisories

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • kafkaUbuntu:Pro:18.04:LTSall versions · no fixed version listed

Vendor advisories

  • CVE-2026-111496 Red Hat Product Security3 known affected

    org.apache.kafka/kafka-streams: Kafka Streams: Denial of Service via integer overflow in timestamp calculation

    kafka-streams as a component of Red Hat build of Quarkus · kafka-streams as a component of Red Hat Fuse 7 · kafka-streams as a component of streams for Apache Kafka 3

Full record on NVD

Fix

  1. Workaround from the vendor Red Hat Product Security CVE-2026-111496 · 3 productsTo reduce exposure to this issue without modifying application binaries: 1. Restrict write access to source topics: Enforce Kafka Access Control Lists (ACLs) to restrict write permissions on topics consumed by Kafka Streams topologies that rely on stream-time punctuation, ensuring only authorized …
  2. No fix available, says the vendor Red Hat Product Security CVE-2026-111496 · 2 productsFix deferred
  3. No fix planned, says the vendor Red Hat Product Security CVE-2026-111496 · 1 productOut of support scope

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof of concept
Metasploit modules
none listed
Metasploit Framework

Sources

Identifiers

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Published
2026-10-28
Last Modified
2026-11-05
NVD status
Awaiting Analysis
GitHub Advisory
GHSA-f6x4-cq8q-x8cq

Frequently asked questions

What is CVE-2026-111496?

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.

Is CVE-2026-111496 actively exploited?

Active exploitation of CVE-2026-111496 has not been confirmed. Its EPSS score was 0.2% on 2026-11-05, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2026-111496?

CVE-2026-111496 has a CVSS v3 base score of 9.1 (CRITICAL severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H.

Running kafka-streams? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month

Sources for this record