First published: Mon Mar 07 2022(Updated: )
A flaw in the Linux Kernel found. If unprivileged users can mount FUSE filesystems, then can trigger use after free (UAF) that reads of write() buffers, allowing theft of (partial) /etc/shadow hashes or any other data from filesystem. FUSE allows the userspace filesystem to specify on FUSE_OPEN whether the file should use the normal kernel pagecache for handling read()/write() or just send FUSE_READ/FUSE_WRITE requests directly to the userspace filesystem (using the flag FOPEN_DIRECT_IO in fuse_open_out::open_flags). In FOPEN_DIRECT_IO mode, fuse_file_write_iter() calls fuse_direct_write_iter(), which normally calls fuse_direct_io(), which then imports the write buffer with fuse_get_user_pages(), which uses iov_iter_get_pages() to grab references to userspace pages instead of actually copying memory. On the filesystem device side, these pages can then either be read to userspace (via fuse_dev_read()), or splice()d over into a pipe using fuse_dev_splice_read() as pipe buffers with &nosteal_pipe_buf_ops. This is wrong because after fuse_dev_do_read() unlocks the FUSE request, the userspace filesystem can mark the request as completed, causing write() to return. At that point, the write buffer may be reused for other purposes, and the userspace filesystem should no longer have access to it.
Credit: secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
redhat/kernel-rt | <0:4.18.0-372.9.1.rt7.166.el8 | 0:4.18.0-372.9.1.rt7.166.el8 |
redhat/kernel | <0:4.18.0-372.9.1.el8 | 0:4.18.0-372.9.1.el8 |
redhat/Linux kernel | <5.16 | 5.16 |
Linux Kernel | <5.17 | |
Linux Kernel | =5.17 | |
Linux Kernel | =5.17-rc1 | |
Linux Kernel | =5.17-rc2 | |
Linux Kernel | =5.17-rc3 | |
Linux Kernel | =5.17-rc4 | |
Linux Kernel | =5.17-rc7 | |
Red Hat Fedora | =34 | |
Red Hat Fedora | =35 | |
Red Hat Quarkus | =2.0 | |
Red Hat Developer Tools | =1.0 | |
Red Hat Enterprise Linux | =6.0 | |
Red Hat Enterprise Linux | =7.0 | |
Red Hat Enterprise Linux | =8.0 | |
Red Hat Enterprise Linux Server EUS | =8.6 | |
Red Hat Enterprise Linux for IBM Z Systems | =8.0 | |
Red Hat Enterprise Linux for IBM Z Systems (s390x) | =8.6 | |
Red Hat Enterprise Linux for Power, little endian | =8.0 | |
Red Hat Enterprise Linux for Power, little endian - Extended Update Support | =8.6 | |
Red Hat Enterprise Linux for Real Time | =8 | |
Red Hat Enterprise Linux for Real Time for NFV | =8 | |
Red Hat Enterprise Linux for Real Time for NFV | =8.6 | |
Red Hat Enterprise Linux for Real Time | =8.6 | |
Red Hat Enterprise Linux Server | =8.6 | |
Red Hat Enterprise Linux for SAP Applications for Power, little endian - Extended Update Support | =8.6 | |
Red Hat Enterprise Linux Server | =8.6 | |
Red Hat Enterprise Linux Server Update Services for SAP Solutions | =8.6 | |
All of | ||
Red Hat Virtualization Host EUS | =4.0 | |
Red Hat Enterprise Linux | =8.0 | |
All of | ||
Red Hat CodeReady Linux Builder | ||
Any of | ||
Red Hat Enterprise Linux | =8.0 | |
Red Hat Enterprise Linux | =8.6 | |
Red Hat Enterprise Linux Server EUS | =8.6 | |
Red Hat Enterprise Linux for Power, little endian | =8.0 | |
Red Hat Enterprise Linux for Power, little endian - Extended Update Support | =8.6 | |
All of | ||
NetApp H300S Firmware | ||
NetApp H300S Firmware | ||
All of | ||
NetApp H500e Firmware | ||
NetApp H500e Firmware | ||
All of | ||
NetApp H700S | ||
NetApp H700S | ||
All of | ||
NetApp H300E | ||
NetApp H300E Firmware | ||
All of | ||
NetApp H500S Firmware | ||
NetApp H500e Firmware | ||
All of | ||
NetApp H700E | ||
NetApp H700E | ||
All of | ||
NetApp H410S | ||
NetApp H410S Firmware | ||
All of | ||
NetApp H410C | ||
NetApp H410C Firmware | ||
Debian Linux | =9.0 | |
Debian Linux | =10.0 | |
Oracle Communications Cloud Native Core Binding Support Function | =22.1.3 | |
Red Hat Virtualization Host EUS | =4.0 | |
Red Hat Enterprise Linux | =8.0 | |
Red Hat CodeReady Linux Builder | ||
Red Hat Enterprise Linux | =8.6 | |
Red Hat Enterprise Linux Server EUS | =8.6 | |
Red Hat Enterprise Linux for Power, little endian | =8.0 | |
Red Hat Enterprise Linux for Power, little endian - Extended Update Support | =8.6 | |
NetApp H300S Firmware | ||
NetApp H300S Firmware | ||
NetApp H500e Firmware | ||
NetApp H500e Firmware | ||
NetApp H700S | ||
NetApp H700S | ||
NetApp H300E | ||
NetApp H300E Firmware | ||
NetApp H500S Firmware | ||
NetApp H500e Firmware | ||
NetApp H700E | ||
NetApp H700E | ||
NetApp H410S | ||
NetApp H410S Firmware | ||
NetApp H410C | ||
NetApp H410C Firmware | ||
debian/linux | 5.10.223-1 5.10.234-1 6.1.129-1 6.1.128-1 6.12.20-1 6.12.21-1 |
Mitigation for this issue is either not available or the currently available options don't meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2022-1011 is considered a medium severity vulnerability due to its potential to allow unauthorized access to sensitive files.
To remediate CVE-2022-1011, upgrade to the fixed versions of the Linux kernel as specified in the patches provided by your distribution.
CVE-2022-1011 affects specific versions of the Linux kernel including Red Hat kernel versions 4.18.0-372.9.1 and 5.16, among others.
CVE-2022-1011 is a use after free (UAF) vulnerability that can lead to information disclosure.
Unprivileged users who can mount FUSE filesystems on affected systems are at risk from CVE-2022-1011.