Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-64363

🗓️ 25 Jul 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 2 Views

Linux appleir HID use-after-free on removal; adds removing flag and safe timer teardown.

Related
Refs
Code
ReporterTitlePublishedViews
Family
CVE
CVE-2026-64363
25 Jul 202608:50
cve
Cvelist
CVE-2026-64363 HID: appleir: fix UAF on pending key_up_timer in remove()
25 Jul 202608:50
cvelist
Debian CVE
CVE-2026-64363
25 Jul 202608:50
debiancve
EUVD
EUVD-2026-48907
25 Jul 202608:50
euvd
NVD
CVE-2026-64363
25 Jul 202610:17
nvd
OSV
CVE-2026-64363 HID: appleir: fix UAF on pending key_up_timer in remove()
25 Jul 202608:50
osv
OSV
DEBIAN-CVE-2026-64363
25 Jul 202610:17
osv
Positive Technologies
PT-2026-64584
25 Jul 202600:00
ptsecurity
SUSE CVE
SUSE CVE-2026-64363
25 Jul 202616:00
susecve
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(329893);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/07/25");

  script_cve_id("CVE-2026-64363");

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

  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.

  - HID: appleir: fix UAF on pending key_up_timer in remove() appleir_remove() runs hid_hw_stop() before
    timer_delete_sync(). hid_hw_stop() synchronously unregisters the HID input device via hid_disconnect() ->
    hidinput_disconnect() -> input_unregister_device(), which drops the last reference and frees the
    underlying input_dev when no userspace handle holds it open. key_up_tick() reads appleir->input_dev and
    calls input_report_key() / input_sync() on it. The timer is armed from appleir_raw_event() with a HZ/8
    (~125 ms) timeout on every keydown and key-repeat report. If a key was pressed shortly before the device
    is disconnected, the timer can fire after hid_hw_stop() has freed input_dev but before the teardown drains
    it. A simple reorder is not sufficient. Putting the timer drain first still leaves a window where a USB
    URB completion (raw_event) running during hid_hw_stop() can call mod_timer() and re-arm the timer, which
    then fires after hidinput_disconnect() has freed input_dev. The same URB-completion window also lets
    raw_event() reach key_up(), key_down() and battery_flat() directly, all of which dereference
    appleir->input_dev. Introduce a 'removing' flag on struct appleir, gated by the existing spinlock.
    appleir_remove() sets the flag under the lock and then shuts down the timer with timer_shutdown_sync(),
    which both drains any in-flight callback and permanently disables further mod_timer() calls.
    appleir_raw_event() and key_up_tick() bail out early if the flag is set, so no path can arm or run the
    timer, or dereference appleir->input_dev, after remove() has started tearing down. The keyrepeat and
    flatbattery branches of appleir_raw_event() previously called into the input layer without holding the
    spinlock; take it now so the flag check is well-defined. This incidentally closes a pre-existing read-side
    race on appleir->current_key in the keyrepeat branch. This bug is structurally a sibling of commit
    4db2af929279 (HID: appletb-kbd: fix UAF in inactivity-timer cleanup path) and has been present since the
    driver was introduced. (CVE-2026-64363)

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-64363");
  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:P/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:N/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:"cvss_score_source", value:"CVE-2026-64363");

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

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:11.0");
  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: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-11", "Host/OS/Debian Linux-12", "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-12": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "12",
        "pkgs": [
          {"reference": "btrfs-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "cdrom-core-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "ext4-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "fat-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "isofs-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "jfs-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "kernel-image-6.1.0-50-alpha-generic-di"},
          {"reference": "linux-doc"},
          {"reference": "linux-doc-6.1"},
          {"reference": "linux-headers-6.1.0"},
          {"reference": "linux-source"},
          {"reference": "linux-source-6.1"},
          {"reference": "linux-support-6.1.0"},
          {"reference": "loop-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "nic-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "nic-shared-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "nic-wireless-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "pata-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "ppp-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "scsi-core-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "scsi-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "scsi-nic-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "serial-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "usb-serial-modules-6.1.0-50-alpha-generic-di"},
          {"reference": "xfs-modules-6.1.0-50-alpha-generic-di"}
        ]
      }
    ]
  },
  "Debian Linux-11": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "11",
        "pkgs": [
          {"reference": "bpftool"},
          {"reference": "btrfs-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "cdrom-core-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "hyperv-daemons"},
          {"reference": "kernel-image-5.10.0-32-alpha-generic-di"},
          {"reference": "libcpupower-dev"},
          {"reference": "libcpupower1"},
          {"reference": "linux-bootwrapper-5.10.0"},
          {"reference": "linux-config-5.10"},
          {"reference": "linux-cpupower"},
          {"reference": "linux-doc"},
          {"reference": "linux-doc-5.10"},
          {"reference": "linux-headers-5.10.0"},
          {"reference": "linux-kbuild-5.10"},
          {"reference": "linux-libc-dev"},
          {"reference": "linux-perf"},
          {"reference": "linux-perf-5.10"},
          {"reference": "linux-source"},
          {"reference": "linux-source-5.10"},
          {"reference": "linux-support-5.10.0"},
          {"reference": "loop-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "nic-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "nic-shared-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "nic-wireless-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "pata-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "ppp-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "scsi-core-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "scsi-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "scsi-nic-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "serial-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "usb-serial-modules-5.10.0-32-alpha-generic-di"},
          {"reference": "usbip"}
        ]
      }
    ]
  },
  "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.3+deb14-alpha-generic"},
          {"reference": "linux-base-7.1.3+deb14-alpha-smp"},
          {"reference": "linux-base-7.1.3+deb14-amd64"},
          {"reference": "linux-base-7.1.3+deb14-arm64"},
          {"reference": "linux-base-7.1.3+deb14-arm64-16k"},
          {"reference": "linux-base-7.1.3+deb14-armmp"},
          {"reference": "linux-base-7.1.3+deb14-armmp-lpae"},
          {"reference": "linux-base-7.1.3+deb14-cloud-amd64"},
          {"reference": "linux-base-7.1.3+deb14-cloud-arm64"},
          {"reference": "linux-base-7.1.3+deb14-loong64"},
          {"reference": "linux-base-7.1.3+deb14-m68k"},
          {"reference": "linux-base-7.1.3+deb14-parisc"},
          {"reference": "linux-base-7.1.3+deb14-parisc64"},
          {"reference": "linux-base-7.1.3+deb14-powerpc"},
          {"reference": "linux-base-7.1.3+deb14-powerpc-smp"},
          {"reference": "linux-base-7.1.3+deb14-powerpc64"},
          {"reference": "linux-base-7.1.3+deb14-powerpc64-64k"},
          {"reference": "linux-base-7.1.3+deb14-powerpc64le"},
          {"reference": "linux-base-7.1.3+deb14-powerpc64le-64k"},
          {"reference": "linux-base-7.1.3+deb14-riscv64"},
          {"reference": "linux-base-7.1.3+deb14-rt-amd64"},
          {"reference": "linux-base-7.1.3+deb14-rt-arm64"},
          {"reference": "linux-base-7.1.3+deb14-s390x"},
          {"reference": "linux-base-7.1.3+deb14-sh7751r"},
          {"reference": "linux-base-7.1.3+deb14-sparc64"},
          {"reference": "linux-base-7.1.3+deb14-sparc64-smp"},
          {"reference": "linux-base-7.1.3+deb14-test"}
        ]
      }
    ]
  },
  "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.94+deb13-4kc-malta"},
          {"reference": "linux-headers-6.12.94+deb13-5kc-malta"},
          {"reference": "linux-headers-6.12.94+deb13-alpha-generic"},
          {"reference": "linux-headers-6.12.94+deb13-alpha-smp"},
          {"reference": "linux-headers-6.12.94+deb13-amd64"},
          {"reference": "linux-headers-6.12.94+deb13-arm64"},
          {"reference": "linux-headers-6.12.94+deb13-arm64-16k"},
          {"reference": "linux-headers-6.12.94+deb13-armmp"},
          {"reference": "linux-headers-6.12.94+deb13-armmp-lpae"},
          {"reference": "linux-headers-6.12.94+deb13-cloud-amd64"},
          {"reference": "linux-headers-6.12.94+deb13-cloud-arm64"},
          {"reference": "linux-headers-6.12.94+deb13-common"},
          {"reference": "linux-headers-6.12.94+deb13-common-rt"},
          {"reference": "linux-headers-6.12.94+deb13-loong64"},
          {"reference": "linux-headers-6.12.94+deb13-loongson-3"},
          {"reference": "linux-headers-6.12.94+deb13-m68k"},
          {"reference": "linux-headers-6.12.94+deb13-mips32r2eb"},
          {"reference": "linux-headers-6.12.94+deb13-mips32r2el"},
          {"reference": "linux-headers-6.12.94+deb13-mips64r2eb"},
          {"reference": "linux-headers-6.12.94+deb13-mips64r2el"}
        ]
      }
    ]
  }
};

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

25 Jul 2026 00:00Current
5.8Medium risk
Vulners AI Score5.8
EPSS0.0022
2