Cloudanix VulnDB

CVE-2026-80946

None

CVSS

—

EPSS

0.2%

Published

Sep 11, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in how Linux copies filesystem messages can crash the whole computer when a local program uses a certain fast I/O path, so those systems should be updated.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
None

What it actually does

The FUSE io-uring transport copies fuse_request in/out headers (req->in.h / req->out.h) directly between an unwhitelisted fuse_request SLUB object (fuse_req_cachep) and userspace. With CONFIG_HARDENED_USERCOPY this is treated as illegal kernel-memory exposure and aborts in usercopy_abort(), causing a kernel BUG/Oops and host panic. Without hardened usercopy, the same path can disclose fuse_request slab contents into the io_uring ring. Impact is local denial of service (availability) and, on non-hardened kernels, potential kernel heap disclosure. No privilege escalation or remote code execution is indicated.

Why it matters to the business

A local process that uses FUSE over io_uring can crash the entire host, interrupting all workloads on that node until reboot. EPSS is very low (~0.002) and unchanged over 30 days, the issue is not in CISA KEV, it is not associated with ransomware, and exploit maturity is none about 20 days after publication—so this is a standard kernel availability patch, not an emergency internet-facing incident. Risk is highest on multi-tenant, CI, and developer systems that allow unprivileged FUSE and io_uring; locked-down hosts that do not use that path are largely unaffected.

How an attack unfolds

An attacker with local unprivileged execution on a Linux host that permits FUSE and io_uring drives FUSE operations over the io-uring transport so the kernel copies request headers out of (and back into) the fuse_request slab object toward the shared ring. Because that slab cache is not usercopy-whitelisted, hardened usercopy detects the copy, calls usercopy_abort(), and panics the kernel. No memory corruption or privilege gain is required; reaching fuse_uring_copy_to_ring / fuse_uring_commit is enough to take the node offline. On kernels without hardened usercopy, the same copy can leak kernel slab data into userspace-visible ring memory. No named threat actors or in-the-wild campaigns are associated with this issue.

How to fix it

Install a kernel that includes the fix which bounces FUSE io-uring request headers through an on-stack buffer so usercopy touches stack memory rather than the fuse_request slab object (the 'fuse: copy request headers via a stack buffer for io-uring' change). Follow your distribution's kernel security advisory for the exact package version; no per-package fixed versions were supplied with this record. Until patched, restrict unprivileged FUSE and io_uring (policy, seccomp, sysctl, and user-namespace controls) on multi-tenant hosts and avoid FUSE io-uring workloads.

How to confirm the fix worked

Confirm the running kernel changelog or distro CVE mapping includes this FUSE io-uring header bounce, or that fs/fuse/dev_uring.c copies headers via a stack buffer in the send/commit path rather than directly from the slab object. Inventory hosts with FUSE and io_uring enabled. After patching, run a controlled FUSE io-uring workload in a non-production environment and verify kernel logs show no usercopy_abort or 'fuse_request' SLUB exposure Oops. Unpatched kernels with CONFIG_HARDENED_USERCOPY remain crash-prone if that path is reachable.

Typical attack path

  1. Obtain local unprivileged code execution on a Linux host that allows FUSE and io_uring
  2. Open or use a FUSE filesystem via the io-uring transport
  3. Cause the kernel to copy FUSE request in/out headers between the fuse_request slab object and the ring
  4. Hardened usercopy rejects the unwhitelisted slab copy and panics the kernel
  5. Host becomes unavailable until reboot (DoS)

How to detect it

This issue typically leaves an obvious kernel Oops rather than stealthy persistence. Search dmesg, journalctl -k, serial/console logs, kdump/vmcore, and panic pipelines for HARDENED_USERCOPY aborts naming SLUB object 'fuse_request', usercopy_abort, and FUSE io-uring frames (copy_header_to_ring, fuse_uring_prepare_send, fuse_uring_send_in_task) under io_uring_enter / task_work. Correlate crashes with processes using FUSE and io_uring. Absence of these logs does not prove non-exploitation on kernels without CONFIG_HARDENED_USERCOPY, where the copy may leak slab data without panicking. No named APT activity is reported.

  • usercopy: Kernel memory exposure attempt detected from SLUB object 'fuse_request'
  • usercopy: Kernel memory exposure attempt detected from SLUB object 'fuse_request' (offset 56, size 40)
  • kernel BUG at mm/usercopy.c
  • usercopy_abort
  • copy_header_to_ring
  • fuse_uring_prepare_send
  • fuse_uring_send_in_task
  • fuse_uring_copy_to_ring
  • fs/fuse/dev_uring.c
  • __check_heap_object

What your security team should do

  • Patch Linux kernels that ship FUSE io-uring, prioritizing multi-tenant, CI, and developer hosts
  • Until patched, limit unprivileged FUSE and io_uring via policy and host hardening
  • Hunt kernel logs and crash dumps for the fuse_request usercopy abort signature
  • Track distro kernel advisories for the exact fixed package; this record has no version list
  • Treat as a local DoS kernel fix (low EPSS, not KEV, no ransomware use)—not an internet-facing emergency

The record

In the Linux kernel, the following vulnerability has been resolved: fuse: copy request headers via a stack buffer for io-uring The fuse-io-uring transport copies req->in.h out to the ring in fuse_uring_copy_to_ring() and req->out.h back in fuse_uring_commit(). Both headers live inside the fuse_request slab object, whose cache (fuse_req_cachep) is created without a usercopy whitelist, so copying them directly to/from userspace trips CONFIG_HARDENED_USERCOPY and panics: usercopy: Kernel memory exposure attempt detected from SLUB object 'fuse_request' (offset 56, size 40)! kernel BUG at mm/usercopy.c:102! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI RIP: 0010:usercopy_abort (mm/usercopy.c:90) Call Trace: __check_heap_object (mm/slub.c:8268) __check_object_size (mm/usercopy.c:197 mm/usercopy.c:258 mm/usercopy.c:223) copy_header_to_ring (fs/fuse/dev_uring.c:618) fuse_uring_prepare_send (fs/fuse/dev_uring.c:776 fs/fuse/dev_uring.c:785) fuse_uring_send_in_task (fs/fuse/dev_uring.c:1306) tctx_task_work_run (io_uring/tw.c:96) task_work_run (kernel/task_work.c:233) io_run_task_work (io_uring/tw.h:84) io_cqring_wait (io_uring/wait.c:278) __do_sys_io_uring_enter (io_uring/io_uring.c:2685) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) Bounce both headers through an on-stack copy so the usercopy touches stack memory, not the slab object.

Affected packages

Ecosystem Package Introduced Fixed