Advisory [CVE-2026-114349] Apache Kafka: When a broker decodes a compressed record batch, the per-record decoder reads a declared body size from the decompressed stream and allocates a buffer of that size before validating it against the bytes available or any configured limit
This security Apache Software Foundation advisory covers CVE-2026-114349 affecting Apache Kafka.
Aggregated and source-linked by VulniPulse. Data sources, validation and limitations.
VulniPulse record published Record updated
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.
Summary
When a broker decodes a compressed record batch, the per-record decoder reads a declared body size from the decompressed stream and allocates a buffer of that size before validating it against the bytes available or any configured limit.
The size is attacker-controlled, and the batch CRC does not constrain it, so a small (around 90-byte), CRC-valid compressed produce request can declare a body size of up to about 2 GiB and force the broker to attempt that allocation, raising OutOfMemoryError.
The record size limit (max.message.bytes), the request size limit, and client/broker quotas bound only the compressed wire size, not the declared decompressed size.
Impact:
An authenticated principal with Write on a topic can crash broker request-handler threads (reached when a batch's codec differs from the topic's compression.type and records are re-encoded) and any consumer that fetches the record, denying service.
On brokers started with -XX:+ExitOnOutOfMemoryError, a common hardening, a single crafted request terminates the broker JVM.
More seriously, a crafted record is accepted at ingest and written to disk; when the log-cleaner later reads it on a compacted topic, the OutOfMemoryError (an Error, not an Exception) terminates the cleaner thread, which is not restarted.
Affected product named by the advisory: Apache Kafka.
- Apache Kafka 0.11.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
- 4.2.2
- 4.3.2
- 4.4.0
Official advisory · medium-confidence parse· fetched 1 hour ago·verify at source
Mitigation checklist
- When a broker decodes a compressed record batch, the per-record decoder reads a declared body size from the decompressed stream and allocates a buffer of that size before validating it against the bytes available or any configured limit.
- The record size limit (max.message.bytes), the request size limit, and client/broker quotas bound only the compressed wire size, not the declared decompressed size.
- Mitigation: Upgrade to Apache Kafka 4.2.2, 4.3.2, or 4.4.0, and set max.decompressed.message.bytes (at the broker and/or topic level) to a bounded value appropriate for your workload.
- Upgrading alone is not sufficient: for backward compatibility this configuration defaults to an effectively unlimited value (about 2 GiB), so a broker remains exposed until the limit is set.
- Until you can upgrade and configure the limit, restrict Write access to trusted producers; quotas and max.message.bytes do not mitigate this issue.
Official advisory · medium-confidence parse· fetched 1 hour ago·verify at source
More Apache Software Foundation advisories
- CVE-2026-112375Oct 28, 2026Apache Kafka: authenticated Kafka principal with no authorization grants
- CVE-2026-111551Oct 28, 2026Apache Kafka: Several Kafka deserialization paths read a size or count field from input
- CVE-2026-111496Oct 28, 2026Apache Kafka: Kafka Streams derives its stream-time clock from record timestamps
- CVE-2026-111115Oct 28, 2026Apache Kafka's code-generated readers for flexible protocol versions read a tagged-field
- CVE-2026-111108Oct 28, 2026Apache Kafka's code-generated protocol readers pre-size an array's collection
- CVE-2026-111073Oct 28, 2026Apache Kafka: The broker-side PushTelemetry API (KIP-714) validates only the compressed
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.