Read the docs

Denial of service in Apache Kafka deserializers via memory allocation

Priority LOW 39CWE-20Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
No fix listed

Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA and Red Hat. Impact type from CWE-400.

Summary

Apache Kafka versions 0.10.0.0 through 4.1.2, 4.2.0 through 4.2.1, and 4.3.0 through 4.3.1 are affected. Several Kafka Streams and client deserializers allocate memory from a size field in input without checking the available bytes, so a small crafted input forces a multi-gigabyte allocation (CWE-789). An attacker who can write crafted records to affected topics can trigger an OutOfMemoryError that crashes the consumer or Streams thread, and the crash can recur on restart.

Written with Claude Haiku 5.5 from the sources below · 2026-11-05

Description from the CNA

Several Kafka deserialization paths read a size or count field from input data and use it directly to allocate an array, collection, or byte buffer, with no check against the bytes actually available. A small crafted input can therefore declare a very large size and force a multi-gigabyte allocation. The affected paths are, in Kafka Streams, ProcessorRecordContext (header count), ChangedDeserializer (varint value length), CombinedKeySchema (foreign-key length, which could also produce a negative size), ProcessorMetadata (key length), and AssignmentInfo group-assignment decoding; and, in the clients library, ListDeserializer (used by ListSerde). Impact: An attacker can trigger the oversized allocation and raise an OutOfMemoryError that crashes the affected consumer or Kafka Streams thread; the broker and the rest of the cluster are unaffected. The reachable surface depends on the path: writing a crafted record to a Streams application's internal changelog or repartition topics, or committing crafted offset metadata to its consumer group (Streams internal paths); writing a crafted record to any topic that a consumer reads with ListSerde (ListDeserializer); or, as a member of a Streams consumer group, returning crafted assignment data when elected leader (AssignmentInfo). Because a crafted record remains in its topic, the error can recur on restart. The record size limit (max.message.bytes) does not help, because the allocation is driven by a size field rather than by the input's length. Mitigation: Upgrade to Apache Kafka 4.2.2, 4.3.2, or 4.4.0. Where authorization is enabled, restrict write access to each application's internal topics and consumer group to its own principal, and restrict who can produce to topics that are consumed with ListSerde. Resolution: From Apache Kafka 4.2.2, 4.3.2, and 4.4.0: these deserialization paths validate the declared size against the remaining input before allocating and reject input that fails the check.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00495 42nd percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ApacheApache Kafka0.10.0.0 – 4.1.2; 4.2.0 – 4.2.1; 4.3.0 – 4.3.1—No fix listedCNA
ApacheApache Kafka0.10.0.0 – 4.1.2; 4.2.0 – 4.2.1; 4.3.0 – 4.3.1—No fix listedCNA
  • Apache Kafka VendorApache Affected 0.10.0.0 – 4.1.2; 4.2.0 – 4.2.1; 4.3.0 – 4.3.1 Fixed in — No fix listed CNA
  • Apache Kafka VendorApache Affected 0.10.0.0 – 4.1.2; 4.2.0 – 4.2.1; 4.3.0 – 4.3.1 Fixed in — No fix listed CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:apache:kafka:*:*:*:*:*:*:*:*——Apache
  • cpe:2.3:a:apache:kafka:*:*:*:*:*:*:*:* Versions — — ·Apache

Remediation

Upgrade Apache Kafka to 4.2.2, 4.3.2, or 4.4.0. Red Hat has no fix plan available for Red Hat Fuse 7, Red Hat build of Apache Camel 4 for Quarkus 3, Red Hat build of Apache Camel for Spring Boot 4, Red Hat build of Apicurio Registry 3, Red Hat build of Debezium 3, Red Hat build of Quarkus, or streams for Apache Kafka 3. Where authorization is enabled, restrict write access to internal topics and consumer groups.

Written with Claude Haiku 5.5 from the sources below · 2026-11-05

Vendor assessments

Red Hat

Red Hat rating: Important. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Fuse 7AffectedNo fix yet: Fix deferred
Red Hat build of Apache Camel 4 for Quarkus 3AffectedNo fix yet
Red Hat build of Apache Camel for Spring Boot 4AffectedNo fix yet
Red Hat build of Apicurio Registry 3AffectedNo fix yet
Red Hat build of Debezium 3AffectedNo fix yet
Red Hat build of QuarkusAffectedNo fix yet
streams for Apache Kafka 3AffectedNo fix yet
Not affected: 1 product
  • OpenShift Serverless

Timeline

  1. 2026-10-28 Threatist record created from CVE-2026-111551
  2. 2026-10-28 Alias added: GHSA-fpf4-qx46-w5rg
  3. 2026-10-30 Affected versions changed · Red Hat
  4. 2026-10-30 CVSS score added · Red Hat
  5. 2026-11-04 Affected versions changed · Red Hat
  6. 2026-11-05 CVSS score added · CISA ADP
  7. 2026-11-05 CISA SSVC decision points changed

References

  • TI-2025-18529 Apache Tomcat: Potential RCE and/or information disclosure and/or information corruption with partial PUT KEVCVSS 3.1CRITICAL 10.0
  • TI-2024-30292 Apache OFBiz: Confused controller-view authorization logic (forced browsing) KEVCVSS 3.1CRITICAL 9.8
  • TI-2024-26062 Apache OFBiz: Unauthenticated endpoint could allow execution of screen rendering code KEVCVSS 3.1CRITICAL 9.8
  • TI-2024-21190 Apache OFBiz: Path traversal leading to RCE KEVCVSS 3.1CRITICAL 9.8
  • TI-2024-18186 Apache HugeGraph-Server: Command execution in gremlin KEVCVSS 3.1CRITICAL 9.8
  • TI-2023-25106 Deserialization of untrusted data in Apache ActiveMQ KEVCVSS 3.1CRITICAL 10.0
See all 4053 →

Sources