| Reporter | Title | Published | Views | Family All 16 |
|---|---|---|---|---|
| Linux kernel 安全漏洞 | 27 May 202600:00 | – | cnnvd | |
| CVE-2026-45866 | 27 May 202612:15 | – | cve | |
| CVE-2026-45866 serial: caif: fix use-after-free in caif_serial ldisc_close() | 27 May 202612:15 | – | cvelist | |
| [SECURITY] [DLA 4606-1] linux security update | 29 May 202616:36 | – | debian | |
| CVE-2026-45866 | 27 May 202612:15 | – | debiancve | |
| Debian dla-4606 : ata-modules-5.10.0-43-armmp-di - security update | 3 Jun 202600:00 | – | nessus | |
| EUVD-2026-32332 | 27 May 202615:33 | – | euvd | |
| CVE-2026-45866 | 27 May 202614:16 | – | nvd | |
| BELL-CVE-2026-45866 | 29 May 202606:10 | – | osv | |
| DEBIAN-CVE-2026-45866 | 27 May 202614:16 | – | osv |
| Source | Link |
|---|---|
| security-tracker | www.security-tracker.debian.org/tracker/CVE-2026-45866 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(317273);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/05/27");
script_cve_id("CVE-2026-45866");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-45866");
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.
- serial: caif: fix use-after-free in caif_serial ldisc_close() There is a use-after-free bug in caif_serial
where handle_tx() may access ser->tty after the tty has been freed. The race condition occurs between
ldisc_close() and packet transmission: CPU 0 (close) CPU 1 (xmit) ------------- ------------ ldisc_close()
tty_kref_put(ser->tty) [tty may be freed here] <-- race window --> caif_xmit() handle_tx() tty = ser->tty
// dangling ptr tty->ops->write() // UAF! schedule_work() ser_release() unregister_netdevice() The root
cause is that tty_kref_put() is called in ldisc_close() while the network device is still active and can
receive packets. Since ser and tty have a 1:1 binding relationship with consistent lifecycles (ser is
allocated in ldisc_open and freed in ser_release via unregister_netdevice, and each ser binds exactly one
tty), we can safely defer the tty reference release to ser_release() where the network device is
unregistered. Fix this by moving tty_kref_put() from ldisc_close() to ser_release(), after
unregister_netdevice(). This ensures the tty reference is held as long as the network device exists,
preventing the UAF. Note: We save ser->tty before unregister_netdevice() because ser is embedded in
netdev's private data and will be freed along with netdev (needs_free_netdev = true). How to reproduce:
Add mdelay(500) at the beginning of ldisc_close() to widen the race window, then run the reproducer
program [1]. Note: There is a separate deadloop issue in handle_tx() when using PORT_UNKNOWN serial ports
(e.g., /dev/ttyS3 in QEMU without proper serial backend). This deadloop exists even without this patch,
and is likely caused by inconsistency between uart_write_room() and uart_write() in serial core. It has
been addressed in a separate patch [2]. KASAN report:
================================================================== BUG: KASAN: slab-use-after-free in
handle_tx+0x5d1/0x620 Read of size 1 at addr ffff8881131e1490 by task caif_uaf_trigge/9929 Call Trace:
<TASK> dump_stack_lvl+0x10e/0x1f0 print_report+0xd0/0x630 kasan_report+0xe4/0x120 handle_tx+0x5d1/0x620
dev_hard_start_xmit+0x9d/0x6c0 __dev_queue_xmit+0x6e2/0x4410 packet_xmit+0x243/0x360
packet_sendmsg+0x26cf/0x5500 __sys_sendto+0x4a3/0x520 __x64_sys_sendto+0xe0/0x1c0 do_syscall_64+0xc9/0xf80
entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f615df2c0d7 Allocated by task 9930: Freed by task
64: Last potentially related work creation: The buggy address belongs to the object at ffff8881131e1000
which belongs to the cache kmalloc-cg-2k of size 2048 The buggy address is located 1168 bytes inside of
freed 2048-byte region [ffff8881131e1000, ffff8881131e1800) The buggy address belongs to the physical
page: page_owner tracks the page as allocated page last free pid 9778 tgid 9778 stack trace: Memory state
around the buggy address: ffff8881131e1380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8881131e1400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8881131e1480: fb fb fb fb fb fb fb
fb fb fb fb fb fb fb fb fb ^ ffff8881131e1500: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff8881131e1580: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
================================================================== [1]:
https://gist.github.com/mrpre/f683f244544f7b11e7fa87df9e6c2eeb [2]: https://lore.kernel.org/linux-
serial/[email protected]/T/#u (CVE-2026-45866)
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-45866");
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-45866");
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/05/27");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/05/27");
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:"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");
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-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"}
]
}
]
}
};
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 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