Skip to main content

Linux Kernel FUSE EUVDEUVD-2026-48979

| CVE-2026-64267 MEDIUM
2026-07-25 Linux GHSA-pj3g-7699-4m62
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local FUSE daemon control requires PR:L; wrap causes only kernel panic (A:H); no confidentiality or integrity impact confirmed.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
7.0 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 12, 2026 - 15:54 vuln.today
CVSS changed
Aug 12, 2026 - 15:52 NVD
5.5 (MEDIUM)
Patch available
Jul 25, 2026 - 11:18 EUVD
CVE Published
Jul 25, 2026 - 08:49 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 25, 2026 - 08:49 nvd
MEDIUM 5.5

DescriptionNVD

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

fuse: avoid 32-bit prune notification count wrap

FUSE_NOTIFY_PRUNE validates the nodeid payload length with:

size - sizeof(outarg) != outarg.count * sizeof(u64)

On 32-bit kernels, size_t is also 32 bits, so the daemon-controlled count multiplication can wrap. A prune notification with count 0x20000000 and no nodeid payload passes the check, enters the copy loop, and asks the device copy path to read nodeids that are not present in the userspace write buffer. In QEMU this reaches the fuse_copy_fill() BUG_ON(!err) path.

Validate the payload length with array_size() instead. That accepts exactly the same valid messages, but avoids wrapping arithmetic before the copy loop consumes the count.

AnalysisAI

Integer wrap in the FUSE subsystem's prune notification handler crashes 32-bit Linux kernels when a malicious or compromised FUSE daemon sends a crafted FUSE_NOTIFY_PRUNE message. On 32-bit platforms where size_t is 32 bits, multiplying a daemon-controlled count value of 0x20000000 by sizeof(u64) wraps to zero, causing the payload length check to pass with no actual nodeid data present; the subsequent copy loop then triggers a BUG_ON assertion, inducing a kernel panic. No public exploit has been identified at time of analysis and EPSS stands at 0.21% (11th percentile), consistent with the narrow exploitation window of 32-bit-only kernels and requiring FUSE daemon control.

Technical ContextAI

FUSE (Filesystem in Userspace) is a Linux kernel subsystem exposing a device interface through which unprivileged userspace daemons implement filesystems. The FUSE_NOTIFY_PRUNE message instructs the kernel to evict cached directory entries for specific nodeids. The vulnerable validation expression size - sizeof(outarg) != outarg.count * sizeof(u64) performs an unsigned 32-bit multiplication on 32-bit kernels: a daemon-supplied count of 0x20000000 multiplied by 8 produces 0x100000000, which truncates to 0x00000000 in a 32-bit size_t, defeating the length check entirely. The kernel then enters the nodeid copy loop with a zero-byte payload, reaches fuse_copy_fill() with no data to satisfy the read, and hits BUG_ON(!err). The fix substitutes array_size() - which uses overflow-safe saturating arithmetic - making any wrap-inducing count produce SIZE_MAX, which unambiguously fails the length check. CWE is not assigned in the source data, but the root cause class is integer overflow/wrap (CWE-190) leading to an out-of-bounds read attempt. Affected CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*.

RemediationAI

Upgrade to Linux kernel 6.18.39, 7.1.4, or 7.2-rc1, which replace the vulnerable multiplication with array_size() in the FUSE_NOTIFY_PRUNE handler. Stable-branch patches are available at https://git.kernel.org/stable/c/6e2d84fdeac05bfd858e84a76353fdb84f23a43e (one stable branch), https://git.kernel.org/stable/c/54243797cedf55447b4c5d560e8cd709900061ae (second branch), and https://git.kernel.org/stable/c/c78c4b242299bc581e4987e5c2786c6f4760c516 (third branch). If patching is not immediately feasible on affected 32-bit systems, restrict FUSE mount privileges by removing user_allow_other from /etc/fuse.conf and auditing which users or groups hold CAP_SYS_ADMIN or fuse group membership, since reducing the set of principals who can control a FUSE daemon directly limits the attacker pool; note this may break legitimate user-space filesystems such as SSHFS or GVisor. Unloading the fuse kernel module (modprobe -r fuse) fully eliminates the attack surface but will break any workload depending on FUSE-based filesystems.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected

Share

EUVD-2026-48979 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy