Linux Distros Unpatched Vulnerability : CVE-2026-89517
| Reporter | Title | Published | Views | Family All 10 |
|---|---|---|---|---|
| CVE-2026-89517 | 11 Sep 202619:44 | – | cve | |
| CVE-2026-89517 sched_ext: Fix rq->core_pick corruption under core scheduling | 11 Sep 202619:44 | – | cvelist | |
| CVE-2026-89517 | 11 Sep 202619:44 | – | debiancve | |
| EUVD-2026-76423 | 11 Sep 202619:44 | – | euvd | |
| CVE-2026-89517 | 11 Sep 202620:19 | – | nvd | |
| DEBIAN-CVE-2026-89517 | 11 Sep 202620:19 | – | osv | |
| UBUNTU-CVE-2026-89517 | 14 Sep 202600:00 | – | osv | |
| PT-2026-90233 | 11 Sep 202600:00 | – | ptsecurity | |
| CVE-2026-89517 | 11 Sep 202622:15 | – | redhatcve | |
| CVE-2026-89517 | 14 Sep 202600:00 | – | ubuntucve |
| Source | Link |
|---|---|
| security-tracker | www.security-tracker.debian.org/tracker/CVE-2026-89517 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(345269);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/09/12");
script_cve_id("CVE-2026-89517");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-89517");
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.
- sched_ext: Fix rq->core_pick corruption under core scheduling Core scheduling's pick_next_task() picks
what to run on every SMT sibling of the core in a single pass under the shared core-wide rq lock. The
selection state is consistent only while the lock is held continuously, so ->pick_task() originally could
not release it. However, since 4c95380701f5 (sched/ext: Fold balance_scx() into pick_task_scx()),
sched_ext runs dispatch from inside the pick and dispatching can drop the rq lock. To support this,
pick_next_task() has been updated to restart the whole selection when a pick returns RETRY_TASK after
releasing the lock. When selections on the same core interleave through the dropped lock, they corrupt
each other's state: one clears the other's rq->core_pick leading to a NULL deref, or invalidates its keep-
the-previous-task decision leaving a dequeued task running, which deadlocks the next wakeup and matches
the reported hard hangs. A cookied ping-pong load on an SMT machine makes the interleavings frequent and
kills the kernel within seconds. Fix it by making the pick return RETRY_TASK whenever dispatch released
the rq lock, so that a selection only ever commits picks made under a continuously held lock. The previous
patch's rq->scx.lock_drop_seq counts the releases. A dispatch that touched nothing never releases the lock
and its verdict, including nothing to run, stands: retries are bounded, each following a dispatch that
actually did something, and an idle CPU does not loop. If another dispatch is already in flight on the rq,
skip dispatching and pick from what is already queued locally - the in-flight dispatch has released the
lock, so its own selection will retry and re-pick this rq, while returning RETRY_TASK here would only spin
on the lock that dispatch needs to finish. Balance callbacks must run in the context that queued them, so
they can only be queued on the CPU's own rq. When dispatching for another rq, run the deferred work
directly instead - that rq may consume all its picks through the core-sched fast path and never queue the
callback itself. The put_prev_task_scx() warning about a runnable task being left behind assumed that
dispatch ran as part of the very pick that is switching away. That now only holds on the non-core path, so
gate it and drop the cookie-match test, which is always true without core scheduling, from its condition.
(CVE-2026-89517)
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-89517");
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:N/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:N/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-89517");
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: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-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"}
]
}
]
}
};
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
12 Sep 2026 00:00Current
EPSS0.00198