CVE-2026-114349
Last modified
CVE-2026-114349 is a vulnerability of currently unknown severity. 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. EPSS estimates a 0.23% chance of exploitation in the next 30 days.
Description
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. With the default of a single cleaner thread, log compaction then stops for the entire broker, including the internal __consumer_offsets and __transaction_state topics, and the condition persists across restarts until the offending record is removed. The impact is availability only; no data is disclosed or altered. 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. Choose a value at or slightly above the largest legitimate decompressed record your applications produce, and comfortably below the broker heap divided by the number of request-handler and cleaner threads. Until you can upgrade and configure the limit, restrict Write access to trusted producers; quotas and max.message.bytes do not mitigate this issue. Resolution: From Apache Kafka 4.2.2, 4.3.2, and 4.4.0: the broker validates a record's declared decompressed body size against max.decompressed.message.bytes before allocating, on the produce-validation, log-compaction, and timestamp-lookup paths, and rejects oversized or negative sizes with InvalidRecordException. Operators must set this configuration to a bounded value to be protected, as its default is effectively unlimited.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Apache Software Foundation | Apache Kafka | >= 0.11.0.0, < 2.5.0 |
| Apache Software Foundation | Apache Kafka | >= 0.11.0.0, < 4.0.0 |
| Apache Software Foundation | Apache Kafka | >= 2.4.0, <= 4.1.2; >= 4.2.0, <= 4.2.1; >= 4.3.0, <= 4.3.1 |
References
Timeline
- Published
- Last Modified
- Status
- Awaiting Analysis
Frequently Asked Questions
What is CVE-2026-114349?
How severe is CVE-2026-114349?
How do I fix CVE-2026-114349?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-1143A weakness has been identified in TOTOLINK A3700R 9.1.2u.582…8.8
- CVE-2026-11430Grav CMS's scheduler-webhook plugin contains an authenticati…7.3
- CVE-2026-11431A path traversal vulnerability exists in the Projects Servic…8.3
- CVE-2026-11432Rejected reason: This CVE ID has been rejected or withdrawn …
- CVE-2026-11434A weakness has been identified in FluentCMS 0.0.5. The impac…2.4
- CVE-2026-114348webpack-dev-server is a development server that provides liv…5.3
- CVE-2026-11435A security vulnerability has been detected in Jinher OA 1.0.…7.3
- CVE-2026-114353Hidden functionality (undocumented backdoor) in the root-pri…7
- CVE-2026-114354Missing authorization in the native binder service 'android.…8.6
- CVE-2026-114355OS command injection in the root-privileged 'hardware_monito…8.6
- CVE-2026-114356Missing authorization in the system-privileged 'DJIUpdateSer…7
- CVE-2026-114357Missing authentication for a critical function in the Androi…9.3
Are you affected by CVE-2026-114349?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
