Linux Distros Unpatched Vulnerability : CVE-2026-80819
| Reporter | Title | Published | Views | Family All 8 |
|---|---|---|---|---|
| CVE-2026-80819 | 4 Sep 202615:13 | – | cve | |
| CVE-2026-80819 Bluetooth: RFCOMM: take rfcomm_mutex for the deferred setup accept | 4 Sep 202615:13 | – | cvelist | |
| CVE-2026-80819 | 4 Sep 202615:13 | – | debiancve | |
| EUVD-2026-71254 | 4 Sep 202615:13 | – | euvd | |
| CVE-2026-80819 | 4 Sep 202616:18 | – | nvd | |
| AZL-99633 CVE-2026-80819 affecting package kernel 6.6.150.1-1 | 4 Sep 202616:18 | – | osv | |
| DEBIAN-CVE-2026-80819 | 4 Sep 202616:18 | – | osv | |
| PT-2026-85660 | 4 Sep 202600:00 | – | ptsecurity |
| Source | Link |
|---|---|
| security-tracker | www.security-tracker.debian.org/tracker/CVE-2026-80819 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(342977);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/09/04");
script_cve_id("CVE-2026-80819");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-80819");
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.
- Bluetooth: RFCOMM: take rfcomm_mutex for the deferred setup accept rfcomm_sock_recvmsg() completes a
deferred setup by calling rfcomm_dlc_accept() without holding any RFCOMM lock: if
(test_and_clear_bit(RFCOMM_DEFER_SETUP, &d->flags)) { rfcomm_dlc_accept(d); return 0; } and
rfcomm_dlc_accept() dereferences the session on its first line: struct sock *sk = d->session->sock->sk;
Every other path that touches d->session runs under rfcomm_mutex: rfcomm_dlc_open(), rfcomm_dlc_close(),
rfcomm_dlc_exists(), rfcomm_dlc_send_rpn(), and the RFCOMM thread through rfcomm_process_sessions().
rfcomm_connect_ind() is even documented as called under rfcomm_lock(). This call site is the only one
that skips it. The RFCOMM_DEFER_SETUP bit looks like it serialises the accept against teardown, since
__rfcomm_dlc_close() returns early when it wins the test_and_clear. But rfcomm_recv_disc() forces the
state first: d->state = BT_CLOSED; __rfcomm_dlc_close(d, err); and the early return only covers
BT_CONNECT, BT_CONFIG, BT_OPEN and BT_CONNECT2. With the state already BT_CLOSED that switch does not
match, the bit is never consulted, and __rfcomm_dlc_close() falls through to rfcomm_dlc_unlink(), which
sets d->session = NULL. So a remote DISC on a deferred dlc clears the session while leaving
RFCOMM_DEFER_SETUP set. The next recvmsg() then passes the test_and_clear and dereferences a NULL session.
No timing window is needed: once the DISC has been processed, the dereference is unconditional. Give
rfcomm_dlc_accept() the same shape as rfcomm_dlc_open() and rfcomm_dlc_close(): an exported wrapper that
takes rfcomm_mutex and re-checks the session, around a __rfcomm_dlc_accept() that the two in-core callers,
which already hold the mutex, keep using. Reproduced on a KASAN + PROVE_LOCKING kernel with a BR/EDR peer
emulated over /dev/vhci: the peer brings up an ACL link, opens L2CAP on the RFCOMM PSM, starts a session,
opens a dlc on a channel bound with BT_DEFER_SETUP, and sends DISC after the socket is accepted. recv() on
the accepted socket then hits: Oops: general protection fault KASAN: null-ptr-deref in range
[0x0000000000000010-0x0000000000000017] RIP: 0010:rfcomm_dlc_accept+0x54/0x350 Call Trace:
rfcomm_sock_recvmsg+0x1cd/0x230 sock_recvmsg+0x166/0x1c0 __sys_recvfrom+0x20d/0x300 0x10 is the offset of
sock in struct rfcomm_session. With this patch the same run completes with recv() returning 0 and no
report, and lockdep stays quiet, confirming rfcomm_mutex is still taken before lock_sock on this path as
it is on the thread side. (CVE-2026-80819)
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-80819");
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-80819");
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/04");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/09/04");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:12.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-12");
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"}
]
}
]
}
};
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
04 Sep 2026 00:00Current