Skip to content
VulniPulse
Advisory severityUnratedApache Software Foundation Updated

Advisory [CVE-2026-111551] Apache Kafka: 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

This security Apache Software Foundation advisory covers CVE-2026-111551 affecting Apache Kafka.

Aggregated and source-linked by VulniPulse. Data sources, validation and limitations.

CVE-2026-111551 Source published Source updated

VulniPulse record published Record updated

CVE-2026-111551
Affected products & platforms
Apache Software FoundationMessagingKafka
Open source advisory

Get an email when Apache Software Foundation publishes the next one.

VulniPulse checks Apache Software Foundation's security advisories around the clock and emails you new ones with the severity, the fixed version and the vendor's link. First month free, then US$15/month; we email you before the first charge.

Start your free month

Summary

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.

Affected versions
  • Apache Kafka 0.10.0.0 through 4.1.2
  • Apache Kafka 4.2.0 through 4.2.1
  • Apache Kafka 4.3.0 through 4.3.1

Official advisory · medium-confidence parse· fetched 1 hour ago·verify at source

Fixed versions
  • 4.2.2
  • 4.3.2
  • 4.4.0

Official advisory · medium-confidence parse· fetched 1 hour ago·verify at source

Mitigation checklist

Recommended fix / mitigation
  • 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.
Temporary workarounds
  • 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.

Official advisory · medium-confidence parse· fetched 1 hour ago·verify at source

All Apache Software Foundation advisories

Android app · Google Play

Monitor future Apache Software Foundation CVEs from your phone.

Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 34 official vendor sources and 160+ reviewed platform categories.

Discussion(0)

No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.

Sign in to join the discussion.