Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-80431

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

Out-of-bounds Write in kitty text sizing protocol allows DoS of the kitty process.

Related
Refs
Code
ReporterTitlePublishedViews
Family
cve
CVE
CVE-2026-80431
25 Sep 202613:23
–cve
cvelist
Cvelist
CVE-2026-80431 Out-of-bounds write in the kitty text sizing protocol allows termination of the terminal process
25 Sep 202613:23
–cvelist
debiancve
Debian CVE
CVE-2026-80431
25 Sep 202613:23
–debiancve
euvd
EUVD
EUVD-2026-87088
25 Sep 202613:23
–euvd
mend
Mend
CVE-2026-80431
25 Sep 202613:23
–mend
nvd
NVD
CVE-2026-80431
25 Sep 202614:17
–nvd
osv_debian
osv_debian
DEBIAN-CVE-2026-80431
25 Sep 202614:17
–osv_debian
osv_ubuntu
osv_ubuntu
UBUNTU-CVE-2026-80431
25 Sep 202614:17
–osv_ubuntu
ptsecurity
Positive Technologies
PT-2026-98850
25 Sep 202600:00
–ptsecurity
rapid7
Rapid7 Vulnerability Database (full)
CVE-2026-80431: Out-of-bounds Write
25 Sep 202600:00
–rapid7
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

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

  script_cve_id("CVE-2026-80431");

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

  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.

  - Out-of-bounds Write in the natural width branch of the text sizing protocol in kitty from 0.40.0 before
    0.49.0 allows a program writing to the terminal to write past the end of a fixed-size buffer, because
    screen_handle_multicell_command() in kitty/screen.c appends each codepoint of a grapheme cluster with
    lc.chars[lc.count++] = ch without any capacity check, while lc is declared by the RAII_ListOfChars macro
    as a four-element char_type array in the function's stack frame, so an OSC 66 escape code whose payload
    carries a grapheme cluster longer than four codepoints writes beyond that buffer, one 32-bit value per
    additional codepoint, in the order the codepoints appear. Where the cluster is preceded in the same
    payload by a sequence that causes an intermediate flush, the buffer is first migrated to the heap by
    ensure_space_for_chars() and the write occurs past the heap allocation instead. This results in
    termination of the kitty process and therefore of all its windows, tabs and child processes.
    (CVE-2026-80431)

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-80431");
  script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/CVE-2026-80431");
  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:L/AC:L/Au:N/C:C/I:P/A:P");
  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:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
  script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N");
  script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-80431");

  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/25");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/10/21");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:20.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:22.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:24.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:26.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:12.0");
  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:canonical:ubuntu_linux:kitty");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:kitty");
  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-12", "Host/OS/Debian Linux-13", "Host/OS/Debian Linux-14", "Host/OS/Ubuntu Linux-20.04", "Host/OS/Ubuntu Linux-22.04", "Host/OS/Ubuntu Linux-24.04", "Host/OS/Ubuntu Linux-26.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 = {
  "Debian Linux-12": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "12",
        "pkgs": [
          {"reference": "kitty"},
          {"reference": "kitty-doc"},
          {"reference": "kitty-shell-integration"},
          {"reference": "kitty-terminfo"}
        ]
      }
    ]
  },
  "Debian Linux-13": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "13",
        "pkgs": [
          {"reference": "kitty"},
          {"reference": "kitty-doc"},
          {"reference": "kitty-shell-integration"},
          {"reference": "kitty-terminfo"}
        ]
      }
    ]
  },
  "Debian Linux-14": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "14",
        "pkgs": [
          {"reference": "kitty"},
          {"reference": "kitty-doc"},
          {"reference": "kitty-shell-integration"},
          {"reference": "kitty-terminfo"}
        ]
      }
    ]
  },
  "Ubuntu Linux-20.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "20.04",
        "pkgs": [
          {"reference": "kitty"}
        ]
      }
    ]
  },
  "Ubuntu Linux-22.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "22.04",
        "pkgs": [
          {"reference": "kitty"}
        ]
      }
    ]
  },
  "Ubuntu Linux-24.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "24.04",
        "pkgs": [
          {"reference": "kitty"}
        ]
      }
    ]
  },
  "Ubuntu Linux-26.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "26.04",
        "pkgs": [
          {"reference": "kitty"}
        ]
      }
    ]
  }
};

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

21 Oct 2026 00:00Current
6.4Medium risk
Vulners AI Score6.4
CVSS 46.8
EPSS0.00134
6