CVE-2026-90140

cuse: wait for pending RCU callbacks on module exit

N/A
Published: September 17, 2026 at 04:06 PM UTC
Updated: October 19, 2026 at 09:19 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
N/A
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: cuse: wait for pending RCU callbacks on module exit Since commit 053fc4f755ad ("fuse: fix UAF in rcu pathwalks"), fuse_conn_put() frees the fuse_conn through call_rcu() rather than synchronously. For cuse, fc->release is cuse_fc_release(), which lives in the cuse module. If the module is removed before the RCU grace period ends, the callback jumps into freed module memory: userspace / module unload | RCU softirq ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ close(/dev/cuse) | cuse_channel_release() | fuse_dev_release() | fuse_conn_put(fch->conn) | call_rcu(delayed_release) ------+---> callback queued | rmmod cuse | cuse_exit() | cuse_channel_destroy() | ... | return | | <module text freed> | | rcu_do_batch() | delayed_release() | fc->release() | -> cuse_fc_release() | ^^^ freed text! The freed module text is unmapped by vfree(), so the jump into the stale callback triggers a page-fault Oops. If the virtual address is subsequently reused, the callback could execute unrelated code (undefined behaviour). Fix this by calling rcu_barrier() in cuse_exit() so that any pending fuse_conn release callback completes before the module is removed.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

053fc4f755ad43cf35210677bcba798ccdc48d0c5.15.166535e9bd0e8f8d8cfdc29de7cdb902b5041427fe653fc4f755ad43cf35210677bcba798ccdc48d0c6.1.1076.6.486.8a8f650b93e55764ca9ff8e1ddebc151f57024086bfbab62ca69f72bcd14ea30de1fb98f6080ad464
Vendor states this is fixed in 389bd349ddbcf90dbd8a4f2a4ab6e552d53df134 (fixed)
Vendor states this is fixed in 45ae914b2f6ea56fc2f1c017fdee4e995bcb4c0e (fixed)
Vendor states this is fixed in 4deb3edead0c0e172cc7349e8855d741d3c5e162 (fixed)
Vendor states this is fixed in 7fe415e1cd8fa875be263670c0ab47109818abb6 (fixed)
Vendor states this is fixed in a1b46aee33d83f14ed62d7fdef1a91d3e0b732a9 (fixed)
Vendor states this is fixed in ac5c499413385cea3e0220d6050408d50842891d (fixed)
Vendor states this is fixed in c40f3f24839f8404325a2099e26c2a04786ae309 (fixed)
Vendor states this is fixed in 5.15.221 (unaffected)
Vendor states this is fixed in 6.1.188 (unaffected)
Vendor states this is fixed in 6.12.110 (unaffected)
Vendor states this is fixed in 6.18.52 (unaffected)
Vendor states this is fixed in 6.6.157 (unaffected)
Vendor states this is fixed in 6.8 (unaffected)
Vendor states this is fixed in 7.2.6 (unaffected)
Vendor states this is fixed in 7.3 (unaffected)
Vendor states this is fixed in 7.3-rc1 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card