SUNRPC: always drain cache_cleaner before destroying a cache_detail
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 7 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50, 7.2.4, 7.3
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix yet |
| Red Hat Enterprise Linux 8 | Affected | No fix yet |
| Red Hat Enterprise Linux 9 | Affected | No fix yet |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-89548
- 2026-10-03 Alias added: GHSA-3g7j-4hj7-8rgc
- 2026-10-18 CISA SSVC decision points changed
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-30 Affected versions changed · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/dec787a15c96a5665e9ffc61b429a6a4ab26e6b9
- https://git.kernel.org/stable/c/5eea874a696201c31e7c2d7badbfa0d90e9961b5
- https://git.kernel.org/stable/c/cf239de7fdcc8336259b01ea4bcf650dadad1040
- https://git.kernel.org/stable/c/6d74ecc2be120a0c300b224b7649fe93c0453714
- https://git.kernel.org/stable/c/9d44836f60c8c29bcdb1471fd9202387c642a890
- https://git.kernel.org/stable/c/2e861ce2aaa468351a6a47c4cbb4971ebb740c7b
- https://git.kernel.org/stable/c/3d60fdf951143d6ef4e352e2f8eb852286701726
- https://git.kernel.org/stable/c/f42d0fda0c67695db6bc704b04b7c10240805377
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-89548 · CVE Program
- CVE-2026-89548 · NVD
- FIRST EPSS
- GHSA-3g7j-4hj7-8rgc · GitHub Advisory Database · CC BY 4.0
- CVE-2026-89548 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences