---
id: CVE-2026-64588
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  fuse-uring: fix data races on ring->ready

  On weakly-ordered architectures, the store to fiq->ops can be
  reordered past the store to ring->ready, allowing a CPU that se…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  fuse-uring: fix data races on ring->ready

  On weakly-ordered architectures, the store to fiq->ops can be
  reordered past the store to ring->ready, allowing a CPU that se…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
published: '2026-08-06'
updated: '2026-08-08'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-64588'
references:
  - url: 'https://git.kernel.org/stable/c/46725a0056c884cf58a6897f222892807327d82d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b156bb9966972122b148acab8bdf415cdb8176a3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d01a09b442cb786cd44ccc7c84d57e2856d6737c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00173
epssPercentile: 0.05959
ingestedAt: '2026-08-08T21:30:13.260Z'
---

## Overview

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

fuse-uring: fix data races on ring->ready

On weakly-ordered architectures, the store to fiq->ops can be
reordered past the store to ring->ready, allowing a CPU that sees
ring->ready == true via fuse_uring_ready() to dispatch requests
through a stale fiq->ops pointer. Upgrade the store to
smp_store_release() and the load in fuse_uring_ready() to
smp_load_acquire() so that the preceding WRITE_ONCE(fiq->ops, ...)
is visible to any CPU that observes ring->ready == true.

Additionally, fuse_uring_do_register() publishes ring->ready with
WRITE_ONCE() but the fast-path check reads it with a plain load.
This is a marked-vs-unmarked access that KCSAN will flag. Wrap it in
READ_ONCE() to mark it without adding unnecessary ordering.

Also wrap the fc->ring load in fuse_uring_ready() in READ_ONCE() to
prevent the compiler from reloading it between the NULL check and the
dereference.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
