Description
In the Linux kernel, the following vulnerability has been resolved:

SUNRPC: always drain cache_cleaner before destroying a cache_detail

sunrpc_destroy_cache_detail() only cancels the global cache_cleaner
delayed_work when cache_list is empty. During per-netns teardown
cache_list is never empty because init_net's caches remain registered,
so the cancel never fires. After unlink, the caller proceeds to
cache_destroy_net() which kfrees the cache_detail while cache_clean()
may still hold a dangling pointer to it. The result is a
use-after-free: cache_dequeue() takes cd->queue_lock on freed memory,
and cache_put() dereferences cd->cache_put as a function pointer from
freed slab.

Drop the list_empty guard so that cancel_delayed_work_sync() always
runs, ensuring any in-flight cache_clean() completes before the
cache_detail is freed. Re-arm the cleaner afterwards if other caches
are still registered.
Published: 2026-09-11
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote code execution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability is a use‑after‑free in the SUNRPC cache cleanup routine of the Linux kernel. When a cache_detail object is freed while a background cache_cleaner thread may still reference it, a freed pointer is accessed, causing memory corruption and potentially arbitrary kernel code execution. This flaw corresponds to CWE‑825.

Affected Systems

The affected product is the Linux kernel, specifically the SUNRPC module that manages per‑net namespace transmission caches. No explicit kernel version range is listed, but the patch commit references the usual branch of unpatched kernel that loads the SUNRPC module and receives RPC traffic is potentially exposed.

Risk and Exploitability

The CVSS score is 7.8 and the EPSS score is less than 1%, indicating a high severity but low exploitation probability. The use‑after‑free in the kernel can be leveraged by an attacker controlling SUNRPC traffic, potentially enabling privilege escalation or remote code execution. The vulnerability is not listed in CISA KEV, suggesting it is new and not yet widely exploited. The likely attack vector is remote over the network through crafted SUNRPC requests, as the flaw arises during per‑net‑namespace teardown triggered by network activity.

Generated by OpenCVE AI on September 13, 2026 at 18:28 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a patched version that removes the list_empty guard and reliably cancels cache_cleaner work; the recommended fix is available in the commits referenced in the advisory.
  • If a kernel upgrade cannot be performed immediately, consider restricting or disabling SunRPC services or blocking the network interface that exposes SunRPC to mitigate the risk of remote exploitation.
  • After applying the patch, reboot the system to ensure the updated kernel takes full effect and that no delayed work references the freed cache_detail objects.

Generated by OpenCVE AI on September 13, 2026 at 18:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 13 Sep 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H'}

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 12 Sep 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 12 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Important


Sat, 12 Sep 2026 07:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: SUNRPC: always drain cache_cleaner before destroying a cache_detail sunrpc_destroy_cache_detail() only cancels the global cache_cleaner delayed_work when cache_list is empty. During per-netns teardown cache_list is never empty because init_net's caches remain registered, so the cancel never fires. After unlink, the caller proceeds to cache_destroy_net() which kfrees the cache_detail while cache_clean() may still hold a dangling pointer to it. The result is a use-after-free: cache_dequeue() takes cd->queue_lock on freed memory, and cache_put() dereferences cd->cache_put as a function pointer from freed slab. Drop the list_empty guard so that cancel_delayed_work_sync() always runs, ensuring any in-flight cache_clean() completes before the cache_detail is freed. Re-arm the cleaner afterwards if other caches are still registered.
Title SUNRPC: always drain cache_cleaner before destroying a cache_detail
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-13T06:30:47.987Z

Reserved: 2026-09-11T19:38:34.723Z

Link: CVE-2026-89548

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:38.250

Modified: 2026-09-13T07:17:17.373

Link: CVE-2026-89548

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-11T19:44:23Z

Links: CVE-2026-89548 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T18:30:13Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference