Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-89651

🗓️ 12 Sep 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 4 Views

ceph kernel client OOB read in handle_session() MDSCapAuth decode allows DoS via malicious MDS.

Related
Refs
Code
ReporterTitlePublishedViews
Family
circl
Circl
CVE-2026-89651
13 Sep 202610:20
circl
cve
CVE
CVE-2026-89651
11 Sep 202619:45
cve
cvelist
Cvelist
CVE-2026-89651 ceph: bound MDSCapAuth path and fs_name decode in handle_session()
11 Sep 202619:45
cvelist
debiancve
Debian CVE
CVE-2026-89651
11 Sep 202619:45
debiancve
euvd
EUVD
EUVD-2026-76563
11 Sep 202619:45
euvd
nvd
NVD
CVE-2026-89651
11 Sep 202620:19
nvd
osv
OSV
DEBIAN-CVE-2026-89651
11 Sep 202620:19
osv
ptsecurity
Positive Technologies
PT-2026-90367
11 Sep 202600:00
ptsecurity
redhatcve
RedhatCVE
CVE-2026-89651
11 Sep 202622:21
redhatcve
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(345379);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/09/12");

  script_cve_id("CVE-2026-89651");

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

  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.

  - ceph: bound MDSCapAuth path and fs_name decode in handle_session() handle_session() decodes the MDSCapAuth
    records carried by a CEPH_SESSION_OPEN message (msg_version >= 6). For each record the match.path and
    match.fs_name byte strings are read by first decoding a 32-bit length and then copying that many bytes
    with the bare ceph_decode_copy(). Unlike the surrounding fields, which all use the _safe decode variants,
    these two copies are not preceded by a ceph_decode_need() bounds check, and the enclosing MDSCapAuth and
    MDSCapMatch struct_len fields are skipped rather than enforced as an upper bound. A length larger than the
    bytes remaining in the message front makes ceph_decode_copy() read past the end of the front buffer. The
    message front is a dedicated allocation (ceph_msg_new2() -> kvmalloc), so the over-read runs off that
    object. A malicious or compromised MDS can trigger this with the first post-connect message on mount, with
    no client-side user interaction; under KASAN it is reported as a slab-out-of-bounds read in
    handle_session(). Impact: a malicious MDS can force the kernel client to read up to 4 GiB past the message
    front allocation during session setup, crashing the client (out-of-bounds read). Switch both copies to
    ceph_decode_copy_safe(), which performs the ceph_decode_need() bounds check before the copy and branches
    to the existing bad label, matching the rest of the decoder and the error path that frees the partially
    decoded cap_auths array. (CVE-2026-89651)

Note that Nessus relies on the presence of the package as reported by the vendor.");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2026-89651");
  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:P/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/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-89651");

  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/09/11");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/09/12");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:13.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:14.0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:linux");
  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/Debian Linux-13", "Host/OS/Debian Linux-14");

  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 = {
  "Debian Linux-14": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "14",
        "pkgs": [
          {"reference": "bpftool"},
          {"reference": "hyperv-daemons"},
          {"reference": "intel-sdsi"},
          {"reference": "libcpupower-dev"},
          {"reference": "libcpupower1"},
          {"reference": "linux-base-7.1.13+deb14-alpha-generic"},
          {"reference": "linux-base-7.1.13+deb14-alpha-smp"},
          {"reference": "linux-base-7.1.13+deb14-amd64"},
          {"reference": "linux-base-7.1.13+deb14-arm64"},
          {"reference": "linux-base-7.1.13+deb14-arm64-16k"},
          {"reference": "linux-base-7.1.13+deb14-armmp"},
          {"reference": "linux-base-7.1.13+deb14-armmp-lpae"},
          {"reference": "linux-base-7.1.13+deb14-cloud-amd64"},
          {"reference": "linux-base-7.1.13+deb14-cloud-arm64"},
          {"reference": "linux-base-7.1.13+deb14-loong64"},
          {"reference": "linux-base-7.1.13+deb14-m68k"},
          {"reference": "linux-base-7.1.13+deb14-parisc"},
          {"reference": "linux-base-7.1.13+deb14-parisc64"},
          {"reference": "linux-base-7.1.13+deb14-powerpc"},
          {"reference": "linux-base-7.1.13+deb14-powerpc-smp"},
          {"reference": "linux-base-7.1.13+deb14-powerpc64"},
          {"reference": "linux-base-7.1.13+deb14-powerpc64-64k"},
          {"reference": "linux-base-7.1.13+deb14-powerpc64le"},
          {"reference": "linux-base-7.1.13+deb14-powerpc64le-64k"},
          {"reference": "linux-base-7.1.13+deb14-riscv64"},
          {"reference": "linux-base-7.1.13+deb14-rt-amd64"},
          {"reference": "linux-base-7.1.13+deb14-rt-arm64"},
          {"reference": "linux-base-7.1.13+deb14-s390x"},
          {"reference": "linux-base-7.1.13+deb14-sh7751r"},
          {"reference": "linux-base-7.1.13+deb14-sparc64"},
          {"reference": "linux-base-7.1.13+deb14-sparc64-smp"}
        ]
      }
    ]
  },
  "Debian Linux-13": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "13",
        "pkgs": [
          {"reference": "bpftool"},
          {"reference": "hyperv-daemons"},
          {"reference": "intel-sdsi"},
          {"reference": "libcpupower-dev"},
          {"reference": "libcpupower1"},
          {"reference": "linux-bpf-dev"},
          {"reference": "linux-config-6.12"},
          {"reference": "linux-cpupower"},
          {"reference": "linux-doc"},
          {"reference": "linux-doc-6.12"},
          {"reference": "linux-headers-4kc-malta"},
          {"reference": "linux-headers-5kc-malta"},
          {"reference": "linux-headers-6.12.107+deb13-4kc-malta"},
          {"reference": "linux-headers-6.12.107+deb13-5kc-malta"},
          {"reference": "linux-headers-6.12.107+deb13-alpha-generic"},
          {"reference": "linux-headers-6.12.107+deb13-alpha-smp"},
          {"reference": "linux-headers-6.12.107+deb13-amd64"},
          {"reference": "linux-headers-6.12.107+deb13-arm64"},
          {"reference": "linux-headers-6.12.107+deb13-arm64-16k"},
          {"reference": "linux-headers-6.12.107+deb13-armmp"},
          {"reference": "linux-headers-6.12.107+deb13-armmp-lpae"},
          {"reference": "linux-headers-6.12.107+deb13-cloud-amd64"},
          {"reference": "linux-headers-6.12.107+deb13-cloud-arm64"},
          {"reference": "linux-headers-6.12.107+deb13-common"},
          {"reference": "linux-headers-6.12.107+deb13-common-rt"},
          {"reference": "linux-headers-6.12.107+deb13-loong64"},
          {"reference": "linux-headers-6.12.107+deb13-loongson-3"},
          {"reference": "linux-headers-6.12.107+deb13-m68k"},
          {"reference": "linux-headers-6.12.107+deb13-mips32r2eb"},
          {"reference": "linux-headers-6.12.107+deb13-mips32r2el"},
          {"reference": "linux-headers-6.12.107+deb13-mips64r2eb"}
        ]
      }
    ]
  }
};

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