CVE-2026-80860: fuse: fix race between interrupt and resend

Published Sep 4, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

fuse: fix race between interrupt and resend

After commit f8fce75fedf7 ("fuse: clear intrentry in fuseresend and fuseremovependingreq") the WARNON(!listempty(&req->intrentry)) in fuserequestfree() still triggers due to the following race:

In requestwaitanswer() if (testbit(FRSENT, &req->flags)) -> returns true

In fusechanresend() clearbit(FRSENT, &req->flags)

In requestwaitanswer() queueinterrupt(req)

Fix by:

- move clearing FRSENT inside fpq->lock

- move setting FRPENDING inside fiq->lock

- recheck FRSENT after acquiring fiq->lock in fusedevqueueinterrupt()

Affected Software

1 affected component
Linux Kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade linux kernel fuse to a version that resolves this vulnerability.

    Patch f8fce75fedf7
  2. Configuration

    In fuse_chan_resend() and request_wait_answer(), clear FR_SENT via clear_bit(FR_SENT, &req->flags) as part of the race fix referenced by commit f8fce75fedf7.

    fuse_chan_resend() / request_wait_answer() clear_bit(FR_SENT, &req->flags) = performed inside fuse_resend logic after fix
  3. Configuration

    In fuse_dev_queue_interrupt(), recheck FR_SENT after acquiring fiq->lock (per the described fix approach) to avoid stale FR_SENT state causing WARN_ON(!list_empty(&req->intr_entry)) to trigger.

    fuse_dev_queue_interrupt() FR_SENT recheck after acquiring fiq->lock = recheck enabled after fiq->lock acquisition
  4. Configuration

    Move clearing of FR_SENT inside fpq->lock to synchronize interrupt vs resend behavior.

    queue_interrupt path (FR_SENT handling) FR_SENT placement under locking (fpq->lock) = moved inside fpq->lock
  5. Configuration

    Move setting FR_PENDING inside fiq->lock to synchronize state transitions with interrupt handling.

    queue_interrupt path (FR_PENDING handling) FR_PENDING placement under locking (fiq->lock) = moved inside fiq->lock

Event History

Sep 4, 2026
CVE Published
via MITRE·03:55 PM
Data Sourced
via MITRE·03:55 PM
Description

Frequently Asked Questions

1

Which systems are exposed to this issue?

Linux kernel systems that use FUSE may be affected when a FUSE request can be interrupted while it is being resent. The provided information does not identify specific kernel versions or configurations.

2

How can administrators identify that the race has occurred?

The race can cause the WARN_ON(!list_empty(&req->intr_entry)) check in fuse_request_free() to trigger. Kernel warning logs containing that condition are an indicator of the affected request-state race.

3

What condition triggers the problem?

It requires a race in which request_wait_answer() observes FR_SENT, fuse_chan_resend() clears FR_SENT, and request_wait_answer() then queues an interrupt. The fix synchronizes the relevant flag updates and rechecks FR_SENT while holding the interrupt-queue lock.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203