CVE-2026-89548

HIGHCVSS 7.8/10EPSS 0.13%

Last modified

CVE-2026-89548 is a high-severity vulnerability rated 7.8/10 on the CVSS scale. 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. EPSS estimates a 0.13% chance of exploitation in the next 30 days.

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.

Metrics

EPSS Probability
0.13%

2.5th percentile

Probability of exploitation in the next 30 days. Learn more

Affected Software

Source: CNA advisory (CVE.org). NVD analysis pending.

VendorProductVersions
LinuxLinux>= 820f9442e711a81749e70c40f149fc54c4ce0ca8, < dec787a15c96a5665e9ffc61b429a6a4ab26e6b9; >= 820f9442e711a81749e70c40f149fc54c4ce0ca8, < 5eea874a696201c31e7c2d7badbfa0d90e9961b5; >= 820f9442e711a81749e70c40f149fc54c4ce0ca8, < cf239de7fdcc8336259b01ea4bcf650dadad1040; >= 820f9442e711a81749e70c40f149fc54c4ce0ca8, < 6d74ecc2be120a0c300b224b7649fe93c0453714; >= 820f9442e711a81749e70c40f149fc54c4ce0ca8, < 9d44836f60c8c29bcdb1471fd9202387c642a890; >= 820f9442e711a81749e70c40f149fc54c4ce0ca8, < 2e861ce2aaa468351a6a47c4cbb4971ebb740c7b; >= 820f9442e711a81749e70c40f149fc54c4ce0ca8, < 3d60fdf951143d6ef4e352e2f8eb852286701726; >= 820f9442e711a81749e70c40f149fc54c4ce0ca8, < f42d0fda0c67695db6bc704b04b7c10240805377
LinuxLinux3.4

References

Timeline

Published
Last Modified
Status
Received

Frequently Asked Questions

What is CVE-2026-89548?
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.
How severe is CVE-2026-89548?
CVE-2026-89548 has a CVSS score of 7.8/10 (HIGH severity). The EPSS model estimates a 0.13% probability of exploitation in the next 30 days.
How do I fix CVE-2026-89548?
Check the vendor references and advisories linked above for patched versions and mitigation guidance. You can also run a Strix scan to test if your systems are affected.

How Strix Helps

Related CVEs from 2026

Are you affected by CVE-2026-89548?

Run a free Strix scan to check your systems for this vulnerability.

Scan your code now

Source: NVD / NIST