Description (CNA)
libfuse is the reference implementation of the Linux FUSE. From version 3.18.0 to before version 3.18.2, a use-after-free vulnerability in the io_uring subsystem of libfuse allows a local attacker to crash FUSE filesystem processes and potentially execute arbitrary code. When io_uring thread creation fails due to resource exhaustion (e.g., cgroup pids.max), fuse_uring_start() frees the ring pool structure but stores the dangling pointer in the session state, leading to a use-after-free when the session shuts down. The trigger is reliable in containerized environments where cgroup pids.max limits naturally constrain thread creation. This issue has been patched in version 3.18.2.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| libfuse / libfuse | affected >= 3.18.0, < 3.18.2 |
CWE
CWE-416
References
- https://github.com/libfuse/libfuse/security/advisories/GHSA-qxv7-xrc2-qmfx
- https://github.com/libfuse/libfuse/commit/49fcd891a58f622c098e2ca67d66086f7b213836
- https://github.com/libfuse/libfuse/releases/tag/fuse-3.18.2
ADP enrichment
No English description supplied.
No references supplied.
A flaw was found in libfuse. A use-after-free vulnerability in the io_uring subsystem allows a local attacker to potentially execute arbitrary code and crash FUSE (Filesystem in Userspace) filesystem processes. This occurs when io_uring thread creation fails due to resource exhaustion, such as limits imposed by cgroup pids.max, causing a dangling pointer to be stored and later used during session shutdown. This vulnerability is reliably triggered in containerized environments.