Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: fuse: publish io-uring queues with release semantics fuse_uring_create_queue() initializes a fuse_ring_queue and then publishes the pointer into ring->queues[qid] with WRITE_ONCE() under the fch->lock. There are several readers that may concurrently be fetching that pointer locklessly and then deferencing it. WRITE_ONCE() doesn't ensure ordering of the queue's field initialization before the ring->queues[qid] pointer assignment. The queue must be published with smp_store_release() so the field initialization is guaranteed to happen before. Readers in paths where the read may happen concurrently with the store need to use READ_ONCE() because any race involving a plain access is undefined.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 24fe962c86f55347385933a1b06ca71b60854690 before a5bb215dbc34b4c6a5e144ea1416bf66450d519f; affected 24fe962c86f55347385933a1b06ca71b60854690 before a1bb359c443d048fe5dfd6ca9caf4e3897f3e9aa; affected 24fe962c86f55347385933a1b06ca71b60854690 before 42df916e5a5f8fb4b60c8cefb54318d1ec02c580 |
| Linux / Linux | affected 6.14; unaffected 0 before 6.14; unaffected 6.18.51 through 6.18.*; unaffected 7.2.3 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.