fuse: publish io-uring queues with release semantics
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.18.51, 7.2.3
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 24fe962c86f55347385933a1b06ca71b60854690 · fixed in a5bb215dbc34b4c6a5e144ea1416bf66450d519f; From 24fe962c86f55347385933a1b06ca71b60854690 · fixed in a1bb359c443d048fe5dfd6ca9caf4e3897f3e9aa; From 24fe962c86f55347385933a1b06ca71b60854690 · fixed in 42df916e5a5f8fb4b60c8cefb54318d1ec02c580
- Linux Linux
6.14
- KernelLinux
From 6.14.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.3