| Reporter | Title | Published | Views | Family All 9 |
|---|---|---|---|---|
| CVE-2026-64418 | 25 Jul 202608:50 | – | cve | |
| CVE-2026-64418 mm: shrinker: fix shrinker_info teardown race with expansion | 25 Jul 202608:50 | – | cvelist | |
| CVE-2026-64418 | 25 Jul 202608:50 | – | debiancve | |
| EUVD-2026-48962 | 25 Jul 202608:50 | – | euvd | |
| CVE-2026-64418 | 25 Jul 202610:17 | – | nvd | |
| CVE-2026-64418 mm: shrinker: fix shrinker_info teardown race with expansion | 25 Jul 202608:50 | – | osv | |
| DEBIAN-CVE-2026-64418 | 25 Jul 202610:17 | – | osv | |
| PT-2026-64639 | 25 Jul 202600:00 | – | ptsecurity | |
| SUSE CVE-2026-64418 | 25 Jul 202615:59 | – | susecve |
| Source | Link |
|---|---|
| security-tracker | www.security-tracker.debian.org/tracker/CVE-2026-64418 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(329987);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/07/25");
script_cve_id("CVE-2026-64418");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-64418");
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.
- mm: shrinker: fix shrinker_info teardown race with expansion expand_shrinker_info() iterates all visible
memcgs under shrinker_mutex, including memcgs that have not finished ->css_online() yet. Once
pn->shrinker_info has been published, teardown must stay serialized with expand_shrinker_info() until that
memcg is either fully online or no longer visible to iteration. Today alloc_shrinker_info() breaks that
rule by dropping shrinker_mutex before freeing a partially initialized shrinker_info array, which may
cause the following race: CPU0 CPU1 ==== ==== css_create --> list_add_tail_rcu(&css->sibling,
&parent_css->children); online_css --> mem_cgroup_css_online --> alloc_shrinker_info --> alloc node0 info
rcu_assign_pointer(C->node0->shrinker_info, old0) alloc node1 info -> FAIL -> goto err
mutex_unlock(shrinker_mutex) shrinker_alloc() --> shrinker_memcg_alloc --> mutex_lock(shrinker_mutex)
expand_shrinker_info --> mem_cgroup_iter see the memcg expand_one_shrinker_info --> old0 =
C->node0->shrinker_info memcpy(new->unit, old0->unit, ...); free_shrinker_info --> kvfree(old0); /* double
free !! */ kvfree_rcu(old0, rcu); The same problem exists later in mem_cgroup_css_online(). If
alloc_shrinker_info() succeeds but a subsequent objcg allocation fails, the free_objcg ->
free_shrinker_info() unwind path tears down the already published pn->shrinker_info arrays without
shrinker_mutex. The expand_one_shrinker_info() can race with that teardown in the same way, leading to
use-after-free or double-free of the old shrinker_info. Fix this by serializing shrinker_info teardown
with shrinker_mutex, and by keeping alloc_shrinker_info() error cleanup inside the locked section.
(CVE-2026-64418)
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-64418");
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-64418");
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: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.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"}
]
}
]
}
};
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