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 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 Linux kernel | <5.17 | |
Linux Linux kernel | =5.17 | |
Linux Linux kernel | =5.17-rc1 | |
Linux Linux kernel | =5.17-rc2 | |
Linux Linux kernel | =5.17-rc3 | |
Linux Linux kernel | =5.17-rc4 | |
Linux Linux kernel | =5.17-rc7 | |
Fedoraproject Fedora | =34 | |
Fedoraproject Fedora | =35 | |
Redhat Build Of Quarkus | =2.0 | |
Redhat Developer Tools | =1.0 | |
Redhat Enterprise Linux | =6.0 | |
Redhat Enterprise Linux | =7.0 | |
Redhat Enterprise Linux | =8.0 | |
Redhat Enterprise Linux Eus | =8.6 | |
Redhat Enterprise Linux For Ibm Z Systems | =8.0 | |
Redhat Enterprise Linux For Ibm Z Systems Eus | =8.6 | |
Redhat Enterprise Linux For Power Little Endian | =8.0 | |
Redhat Enterprise Linux For Power Little Endian Eus | =8.6 | |
Redhat Enterprise Linux For Real Time | =8 | |
Redhat Enterprise Linux For Real Time For Nfv | =8 | |
Redhat Enterprise Linux For Real Time For Nfv Tus | =8.6 | |
Redhat Enterprise Linux For Real Time Tus | =8.6 | |
Redhat Enterprise Linux Server Aus | =8.6 | |
Redhat Enterprise Linux Server For Power Little Endian Update Services For Sap Solutions | =8.6 | |
Redhat Enterprise Linux Server Tus | =8.6 | |
Redhat Enterprise Linux Server Update Services For Sap Solutions | =8.6 | |
All of | ||
Redhat Virtualization Host | =4.0 | |
Redhat Enterprise Linux | =8.0 | |
All of | ||
Redhat Codeready Linux Builder | ||
Any of | ||
Redhat Enterprise Linux | =8.0 | |
Redhat Enterprise Linux | =8.6 | |
Redhat Enterprise Linux Eus | =8.6 | |
Redhat Enterprise Linux For Power Little Endian | =8.0 | |
Redhat Enterprise Linux For Power Little Endian Eus | =8.6 | |
All of | ||
Netapp H300s Firmware | ||
Netapp H300s | ||
All of | ||
Netapp H500s Firmware | ||
Netapp H500s | ||
All of | ||
Netapp H700s Firmware | ||
Netapp H700s | ||
All of | ||
Netapp H300e Firmware | ||
Netapp H300e | ||
All of | ||
Netapp H500e Firmware | ||
Netapp H500e | ||
All of | ||
Netapp H700e Firmware | ||
Netapp H700e | ||
All of | ||
Netapp H410s Firmware | ||
Netapp H410s | ||
All of | ||
Netapp H410c Firmware | ||
Netapp H410c | ||
Debian Debian Linux | =9.0 | |
Debian Debian Linux | =10.0 | |
Oracle Communications Cloud Native Core Binding Support Function | =22.1.3 | |
Redhat Virtualization Host | =4.0 | |
Redhat Enterprise Linux | =8.0 | |
Redhat Codeready Linux Builder | ||
Redhat Enterprise Linux | =8.6 | |
Redhat Enterprise Linux Eus | =8.6 | |
Redhat Enterprise Linux For Power Little Endian | =8.0 | |
Redhat Enterprise Linux For Power Little Endian Eus | =8.6 | |
Netapp H300s Firmware | ||
Netapp H300s | ||
Netapp H500s Firmware | ||
Netapp H500s | ||
Netapp H700s Firmware | ||
Netapp H700s | ||
Netapp H300e Firmware | ||
Netapp H300e | ||
Netapp H500e Firmware | ||
Netapp H500e | ||
Netapp H700e Firmware | ||
Netapp H700e | ||
Netapp H410s Firmware | ||
Netapp H410s | ||
Netapp H410c Firmware | ||
Netapp H410c | ||
ubuntu/linux | <4.15.0-189.200 | 4.15.0-189.200 |
ubuntu/linux | <5.4.0-117.132 | 5.4.0-117.132 |
ubuntu/linux | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws | <4.15.0-1137.148 | 4.15.0-1137.148 |
ubuntu/linux-aws | <5.4.0-1078.84 | 5.4.0-1078.84 |
ubuntu/linux-aws | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-5.0 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-5.11 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-5.13 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-5.3 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-5.4 | <5.4.0-1078.84~18.04.1 | 5.4.0-1078.84~18.04.1 |
ubuntu/linux-aws-5.4 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-5.8 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-fips | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-hwe | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-aws-hwe | <4.15.0-1137.148~16.04.1 | 4.15.0-1137.148~16.04.1 |
ubuntu/linux-azure | <5.4.0-1083.87 | 5.4.0-1083.87 |
ubuntu/linux-azure | <4.15.0-1146.161~14.04.1 | 4.15.0-1146.161~14.04.1 |
ubuntu/linux-azure | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure | <4.15.0-1146.161~16.04.1 | 4.15.0-1146.161~16.04.1 |
ubuntu/linux-azure-4.15 | <4.15.0-1146.161 | 4.15.0-1146.161 |
ubuntu/linux-azure-4.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-5.11 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-5.13 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-5.3 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-5.4 | <5.4.0-1083.87~18.04.1 | 5.4.0-1083.87~18.04.1 |
ubuntu/linux-azure-5.4 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-edge | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-fde | <5.4.0-1083.87 | 5.4.0-1083.87 |
ubuntu/linux-azure-fde | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-fde-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-azure-fips | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-bluefield | <5.4.0-1040.44 | 5.4.0-1040.44 |
ubuntu/linux-bluefield | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-dell300x | <4.15.0-1049.54 | 4.15.0-1049.54 |
ubuntu/linux-dell300x | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-fips | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gcp | <5.4.0-1078.84 | 5.4.0-1078.84 |
ubuntu/linux-gcp | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gcp | <4.15.0-1131.147~16.04.1 | 4.15.0-1131.147~16.04.1 |
ubuntu/linux-gcp-4.15 | <4.15.0-1131.147 | 4.15.0-1131.147 |
ubuntu/linux-gcp-4.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gcp-5.11 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gcp-5.13 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gcp-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gcp-5.3 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gcp-5.4 | <5.4.0-1078.84~18.04.1 | 5.4.0-1078.84~18.04.1 |
ubuntu/linux-gcp-5.8 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gcp-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gcp-fips | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gke | <5.4.0-1074.79 | 5.4.0-1074.79 |
ubuntu/linux-gke | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gke-4.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gke-5.0 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gke-5.3 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gke-5.4 | <5.4.0-1074.79~18.04.1 | 5.4.0-1074.79~18.04.1 |
ubuntu/linux-gke-5.4 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gkeop | <5.4.0-1046.48 | 5.4.0-1046.48 |
ubuntu/linux-gkeop | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gkeop-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-gkeop-5.4 | <5.4.0-1046.48~18.04.1 | 5.4.0-1046.48~18.04.1 |
ubuntu/linux-gkeop-5.4 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-hwe | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-hwe | <4.15.0-189.200~16.04.1 | 4.15.0-189.200~16.04.1 |
ubuntu/linux-hwe-5.11 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-hwe-5.13 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-hwe-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-hwe-5.4 | <5.4.0-117.132~18.04.1 | 5.4.0-117.132~18.04.1 |
ubuntu/linux-hwe-5.4 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-hwe-5.8 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-hwe-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-hwe-edge | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-ibm | <5.4.0-1026.29 | 5.4.0-1026.29 |
ubuntu/linux-ibm | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-ibm-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-ibm-5.4 | <5.4.0-1028.32~18.04.1 | 5.4.0-1028.32~18.04.1 |
ubuntu/linux-ibm-5.4 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-intel | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-intel-5.13 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-intel-iotg | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-intel-iotg-5.15 | <5.15.0-1008.11~20.04.1 | 5.15.0-1008.11~20.04.1 |
ubuntu/linux-intel-iotg-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-iot | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-kvm | <4.15.0-1123.128 | 4.15.0-1123.128 |
ubuntu/linux-kvm | <5.4.0-1068.72 | 5.4.0-1068.72 |
ubuntu/linux-kvm | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-laptop | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-lowlatency | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-lowlatency-hwe-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-lowlatency-hwe-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-lts-xenial | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-nvidia | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-nvidia-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-nvidia-6.8 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-nvidia-lowlatency | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oem | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oem-5.10 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oem-5.13 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oem-5.14 | <5.14.0-1033.36 | 5.14.0-1033.36 |
ubuntu/linux-oem-5.17 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oem-5.6 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oem-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oem-6.8 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oem-osp1 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oracle | <4.15.0-1102.113 | 4.15.0-1102.113 |
ubuntu/linux-oracle | <5.4.0-1076.83 | 5.4.0-1076.83 |
ubuntu/linux-oracle | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oracle | <4.15.0-1102.113~16.04.1 | 4.15.0-1102.113~16.04.1 |
ubuntu/linux-oracle-5.0 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oracle-5.11 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oracle-5.13 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oracle-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oracle-5.3 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-oracle-5.4 | <5.4.0-1076.83~18.04.1 | 5.4.0-1076.83~18.04.1 |
ubuntu/linux-oracle-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-raspi | <5.4.0-1065.75 | 5.4.0-1065.75 |
ubuntu/linux-raspi | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-raspi-5.4 | <5.4.0-1065.75~18.04.1 | 5.4.0-1065.75~18.04.1 |
ubuntu/linux-raspi-5.4 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-raspi2 | <4.15.0-1115.123 | 4.15.0-1115.123 |
ubuntu/linux-raspi2 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-raspi2-5.3 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-riscv | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-riscv-5.11 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-riscv-5.15 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-riscv-5.8 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-riscv-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-snapdragon | <4.15.0-1133.143 | 4.15.0-1133.143 |
ubuntu/linux-snapdragon | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-starfive | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-starfive-6.5 | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
ubuntu/linux-xilinx-zynqmp | <5.17~<5.4.185<5.15.29 | 5.17~ 5.4.185 5.15.29 |
debian/linux | 5.10.218-1 5.10.221-1 6.1.94-1 6.1.99-1 6.9.12-1 6.10.3-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.
(Appears in the following advisories)