Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-114349

🗓️ 29 Oct 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 6 Views

Authenticated Write principal can cause DoS in Apache Kafka via OutOfMemoryError.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(373877);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/29");

  script_cve_id("CVE-2026-114349");

  script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-114349");

  script_set_attribute(attribute:"synopsis", value:
"The Linux/Unix host has one or more packages installed with a vulnerability that the vendor indicates will not be
patched.");
  script_set_attribute(attribute:"description", value:
"The Linux/Unix host has one or more packages installed that are impacted by a vulnerability without a vendor supplied
patch available.

  - 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.
    (CVE-2026-114349)

Note that Nessus relies on the presence of the package as reported by the vendor.");
  script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/CVE-2026-114349");
  script_set_attribute(attribute:"solution", value:
"There is no known solution at this time.");
  script_set_attribute(attribute:"agent", value:"unix");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-114349");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");
  script_set_attribute(attribute:"vendor_unpatched", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/10/28");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/10/29");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:18.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:kafka");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info2.nasl", "set_linux_os_id.nasl");
  script_require_keys("Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched", "Host/OS/identifier");
  script_require_ports("Host/OS/Ubuntu Linux-18.04");

  exit(0);
}

if (!get_kb_item("global_settings/vendor_unpatched")) exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (empty_or_null(get_one_kb_item("Host/Debian/dpkg-l"))) audit(AUDIT_PACKAGE_LIST_MISSING);

include('linux_unpatched.inc');

var distro_constraints_array = {
  "Ubuntu Linux-18.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "18.04",
        "pkgs": [
          {"reference": "kafka"}
        ]
      }
    ]
  }
};

var distro_constraints_values = linux_unpatched::get_distro_constraints(distro_constraints_arr:distro_constraints_array);
if (empty_or_null(distro_constraints_values)) audit(AUDIT_HOST_NOT, 'affected');

var third_party_support = get_kb_item('Host/OS/extended-third-party');
if (!empty_or_null(third_party_support)) {
    var third_party_vendors = distro_constraints_values['third_party'];
    if (!empty_or_null(third_party_vendors)) {
        var vendor;
        foreach vendor (third_party_vendors) {
            if (vendor == third_party_support) exit(0, 'A third party management patch is available for this vulnerability from ' + vendor + '.\n');
        }
    }
}

var report = linux_unpatched::check_unpatched_constraints(distro_constraints_values:distro_constraints_values);

if (!empty_or_null(report))
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_WARNING,
      extra      : report
  );
  exit(0);
}
else
{
  audit(AUDIT_HOST_NOT, 'affected');
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

29 Oct 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
EPSS0.00247
6