CVE-2026-64258: fuse-uring: remove request-less entries from ent_w_req_queue to fix NULL deref
In the Linux kernel, the following vulnerability has been resolved:
fuse-uring: remove request-less entries from entwreqqueue to fix NULL deref
If a copy into the userspace ring buffer fails, a request will be terminated and fuseuringreqend() will set ent->fusereq to NULL but it will leave the entry on entwreqqueue in FRRSFUSEREQ state. This can lead to a NULL deref if the request expiration logic scans entwreqqueue in the window before the entry is moved off it.
Fix this by taking the entry off entwreqqueue and changing its state from FRRSFUSEREQ to FRRSINVALID before terminating the request.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Update fuse-uring expiration/termination logic so the request entry is removed from ent_w_req_queue (or its state is changed) before terminating the request, preventing NULL dereference during scans of ent_w_req_queue.
Linux kernel fuse-uring ent_w_req_queue entry state (FRRS_FUSE_REQ -> FRRS_INVALID) = from FRRS_FUSE_REQ to FRRS_INVALID before terminating the request - Operational
After applying the code change, ensure any in-flight fuse-uring requests have their ent->fuse_req pointer cleared via fuse_uring_req_end() to avoid dangling pointers.