fuse: fix race between interrupt and resend
- 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.12.111, 6.18.51, 7.2, 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: fix race between interrupt and resend After commit f8fce75fedf7 ("fuse: clear intr_entry in fuse_resend and fuse_remove_pending_req") the WARN_ON(!list_empty(&req->intr_entry)) in fuse_request_free() still triggers due to the following race: In request_wait_answer() if (test_bit(FR_SENT, &req->flags)) -> returns true In fuse_chan_resend() clear_bit(FR_SENT, &req->flags) In request_wait_answer() queue_interrupt(req) Fix by: • move clearing FR_SENT inside fpq->lock • move setting FR_PENDING inside fiq->lock • recheck FR_SENT after acquiring fiq->lock in fuse_dev_queue_interrupt()
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 1d8ecd0cd696a5df0b2f72046a4ccee5d2a8ec2c · fixed in 67ddf061790e833d7e34f9dc901866c9fb25d72d; From 7366e6f4d2b4c7002b13fb01219e83679dad4127 · fixed in 0f930904452945f409eeeb0c9afa08bf27185cb1; From f8fce75fedf73ac72aa09163deb8f4291fdcaad2 · fixed in 26fbe4bc3ef3ab0200407681cbef182af5d151de; From f8fce75fedf73ac72aa09163deb8f4291fdcaad2 · fixed in ed9c881f3b498383f73c42712b359419da42a7b0; From 6.12.96 · fixed in 6.12.111; From 6.18.39 · fixed in 6.18.51; From 7.1.4 · fixed in 7.2
- Linux Linux
7.2
- KernelLinux
fixed in 6.12.111; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.3