CVE-2026-68095: fuse-uring: fix race between registration and connection abortion
In the Linux kernel, the following vulnerability has been resolved:
fuse-uring: fix race between registration and connection abortion
This fixes this race: - thread a: iouringenter -> register sqe -> fuseuringcreateringent -> allocate ent but doesn't grab queueref yet - thread b: fuseconndestroy() -> fusechanabort() -> fuseuringabort() is a no-op due to queue ref being 0 - thread a: grabs the queueref, queueref is now 1, rest of fuseuringdoregister() logic executes - thread b: fusechanabort() returns, fusechanwaitaborted() now runs and calls "waitevent(ring->stopwaitq, atomicread(&ring->queuerefs) == 0);" The abort/unmount thread will hang indefinitely in unkillable state as nothing will decrement queuerefs or wake stopwaitq, and the ring, queue, and ent are leaked.
Fix this by checking fch->connected under fch->lock after the created ent has grabbed a ref count on the queue. This ensures that in the scenario above, it is guaranteed that we either release the queue ref and wake up stopwaitq (in case fusechanwaitaborted() is already waiting) in fuseuringdoregister() when we detect !fch->connected, or if the connection is aborted after the check, it is guaranteed that the async teardown worker will be running in the background cleaning up ents and decrementing the ent's ref on the queue, which will unblock the eventual queue and ring teardown.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Fix the race by checking fch->connected under fch->lock after the connection state is accessed in fuse_uring_do_register(), ensuring that if the connection is aborted then the code releases the queue ref and wakes stop_waitq (when fuse_chan_wait_aborted() may already be waiting) to prevent leaked ring/queue/ent and indefinite hang.
Linux kernel (fuse-uring) fch->connected check under fch->lock in fuse_uring_do_register() = checked_after_lock_acquisition_and_before_registration_or_teardown_waitq_release
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68095?
CVE-2026-68095 has a risk score of 34.
How do I fix CVE-2026-68095?
To address CVE-2026-68095, ensure that you update the Linux kernel to the latest patched version.
What systems are affected by CVE-2026-68095?
CVE-2026-68095 affects the Linux kernel, specifically components related to fuse-uring.
What is the nature of CVE-2026-68095?
CVE-2026-68095 involves a race condition between registration and connection abortion in the Linux kernel.
Can CVE-2026-68095 cause data loss?
While CVE-2026-68095 primarily involves a race condition, it may lead to connection instability that could affect data integrity.