CVE-2021-45469
High · 7.8CVSS
7.8
EPSS
0.6%
Published
Dec 23, 2021
CISA due date
—
Cloudanix analysis
A flaw in how Linux handles certain file attributes on specific file systems can let someone with access to the computer crash it or take over more control than they should have.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Out-of-bounds memory access in __f2fs_setxattr when processing an inode with an invalid last xattr entry, enabling kernel memory corruption.
Why it matters to the business
Local attackers can crash affected Linux systems, corrupt data, or escalate privileges on servers and devices running vulnerable kernels, leading to downtime, data loss, and potential full system compromise; widespread exposure across enterprise storage and Linux distributions increases patching urgency after 1763 days since disclosure.
How an attack unfolds
An attacker with local access prepares a malicious F2FS filesystem image containing an inode with a crafted invalid xattr entry, mounts it on a vulnerable kernel, and triggers __f2fs_setxattr to cause out-of-bounds access; this memory corruption can be leveraged for privilege escalation or denial of service, consistent with publicly available exploit techniques and generic Linux kernel heap overflow or escalation campaigns.
How to fix it
Upgrade the Linux kernel to a version beyond 5.15.11 that includes the fix for the xattr handling logic; apply distribution-specific patches for affected products such as Fedora, Debian, and NetApp firmware; disable F2FS if unused; monitor for kernel updates across all listed products.
How to confirm the fix worked
Verify running kernel version exceeds 5.15.11 and contains the xattr bounds check; test by attempting to mount known-good F2FS images with xattr operations; review kernel source or changelog for the patch in fs/f2fs/xattr.c.
Typical attack path
- Obtain local user access on target Linux system
- Create or obtain malicious F2FS filesystem image with invalid xattr entry
- Mount the image triggering __f2fs_setxattr
- Exploit resulting out-of-bounds memory corruption for code execution or crash
How to detect it
Review kernel logs for F2FS-related oops or panic entries mentioning xattr or out-of-bounds access around the time of suspicious mount operations; correlate with user activity involving F2FS mounts or setxattr calls; look for post-exploitation artifacts consistent with kernel privilege escalation.
- f2fs.*xattr
- out-of-bounds.*__f2fs_setxattr
- kernel:.*f2fs.*invalid last xattr
What your security team should do
- Prioritize kernel upgrades on all internet-facing or multi-user Linux systems using F2FS
- Apply patches immediately given public exploit availability and 1763-day exposure window
- Restrict untrusted filesystem mounting via mount options or AppArmor/SELinux policies
- Scan for and replace vulnerable NetApp firmware versions on H300/H410/H500/H700 series
The record
In __f2fs_setxattr in fs/f2fs/xattr.c in the Linux kernel through 5.15.11, there is an out-of-bounds memory access when an inode has an invalid last xattr entry.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | linux | 0 | 4.19.232-1 |
| Debian:11 | linux | 0 | 5.10.92-1 |
| Debian:12 | linux | 0 | 5.15.15-1 |
| Debian:13 | linux | 0 | 5.15.15-1 |
| Debian:9 | linux-4.19 | 0 | 4.19.232-1~deb9u1 |
| Mageia:8 | kernel | 0 | 5.15.11-3.mga8 |
| Mageia:8 | kmod-virtualbox | 0 | 6.1.30-1.7.mga8 |
| Mageia:8 | kmod-xtables-addons | 0 | 3.18-1.41.mga8 |
| Ubuntu:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux | 0 | 4.15.0-169.177 |
| Ubuntu:18.04:LTS | linux-aws | 0 | 4.15.0-1121.129 |
| Ubuntu:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.4 | 0 | 5.4.0-1069.73~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-4.15 | 0 | 4.15.0-1131.144 |
| Ubuntu:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-5.4 | 0 | 5.4.0-1073.76~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-dell300x | 0 | 4.15.0-1035.40 |
| Ubuntu:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-4.15 | 0 | 4.15.0-1116.130 |
| Ubuntu:18.04:LTS | linux-gcp-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-5.4 | 0 | 5.4.0-1068.72~18.04.1 |
| Ubuntu:18.04:LTS | linux-gke-4.15 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gke-5.4 | 0 | 5.4.0-1066.69~18.04.1 |
| Ubuntu:18.04:LTS | linux-gkeop-5.4 | 0 | 5.4.0-1037.38~18.04.1 |
| Ubuntu:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe-5.4 | 0 | 5.4.0-105.119~18.04.1 |
| Ubuntu:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-ibm-5.4 | 0 | 5.4.0-1018.20~18.04.1 |
| Ubuntu:18.04:LTS | linux-kvm | 0 | 4.15.0-1107.109 |
| Ubuntu:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle | 0 | 4.15.0-1087.95 |
| Ubuntu:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.4 | 0 | 5.4.0-1067.72~18.04.1 |
| Ubuntu:18.04:LTS | linux-raspi-5.4 | 0 | 5.4.0-1056.63~18.04.1 |
| Ubuntu:18.04:LTS | linux-raspi2 | 0 | 4.15.0-1103.110 |
| Ubuntu:18.04:LTS | linux-snapdragon | 0 | 4.15.0-1120.129 |
| Ubuntu:20.04:LTS | linux | 0 | 5.4.0-105.119 |
| Ubuntu:20.04:LTS | linux-aws | 0 | 5.4.0-1069.73 |
| Ubuntu:20.04:LTS | linux-aws-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.13 | 0 | 5.13.0-1019.21~20.04.1 |
| Ubuntu:20.04:LTS | linux-aws-5.15 | 0 | 5.15.0-1014.18~20.04.1 |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure | 0 | 5.4.0-1073.76 |
| Ubuntu:20.04:LTS | linux-azure-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.13 | 0 | 5.13.0-1021.24~20.04.1 |
| Ubuntu:20.04:LTS | linux-azure-5.15 | 0 | 5.15.0-1007.8~20.04.1 |
| Ubuntu:20.04:LTS | linux-azure-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde-5.15 | 0 | 5.15.0-1019.24~20.04.1.1 |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | 5.4.0-1032.35 |
| Ubuntu:20.04:LTS | linux-gcp | 0 | 5.4.0-1068.72 |
| Ubuntu:20.04:LTS | linux-gcp-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.13 | 0 | 5.13.0-1021.25~20.04.1 |
| Ubuntu:20.04:LTS | linux-gcp-5.15 | 0 | 5.15.0-1006.9~20.04.1 |
| Ubuntu:20.04:LTS | linux-gcp-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke | 0 | 5.4.0-1066.69 |
| Ubuntu:20.04:LTS | linux-gkeop | 0 | 5.4.0-1037.38 |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | 5.15.0-1003.5~20.04.2 |
| Ubuntu:20.04:LTS | linux-hwe-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.13 | 0 | 5.13.0-37.42~20.04.1 |
| Ubuntu:20.04:LTS | linux-hwe-5.15 | 0 | 5.15.0-33.34~20.04.1 |
| Ubuntu:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm | 0 | 5.4.0-1018.20 |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | 5.15.0-1033.36~20.04.1 |
| Ubuntu:20.04:LTS | linux-intel-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-intel-iotg-5.15 | 0 | 5.15.0-1003.5~20.04.1 |
| Ubuntu:20.04:LTS | linux-iot | 0 | 5.4.0-1001.3 |
| Ubuntu:20.04:LTS | linux-kvm | 0 | 5.4.0-1059.62 |
| Ubuntu:20.04:LTS | linux-lowlatency-hwe-5.15 | 0 | 5.15.0-33.34~20.04.1 |
| Ubuntu:20.04:LTS | linux-oem-5.10 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.14 | 0 | 5.14.0-1022.24 |
| Ubuntu:20.04:LTS | linux-oem-5.6 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle | 0 | 5.4.0-1067.72 |
| Ubuntu:20.04:LTS | linux-oracle-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.13 | 0 | 5.13.0-1025.30~20.04.1 |
| Ubuntu:20.04:LTS | linux-oracle-5.15 | 0 | 5.15.0-1007.9~20.04.1 |
| Ubuntu:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi | 0 | 5.4.0-1056.63 |
| Ubuntu:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.15 | 0 | 5.15.0-1015.17~20.04.1 |
| Ubuntu:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-xilinx-zynqmp | 0 | 5.4.0-1020.24 |
| Ubuntu:22.04:LTS | linux | 0 | 5.15.0-17.17 |
| Ubuntu:22.04:LTS | linux-aws | 0 | 5.15.0-1002.4 |
| Ubuntu:22.04:LTS | linux-aws-6.5 | 0 | 6.5.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 0 | 6.8.0-1009.9~22.04.2 |
| Ubuntu:22.04:LTS | linux-azure | 0 | 5.15.0-1001.2 |
| Ubuntu:22.04:LTS | linux-azure-6.5 | 0 | 6.5.0-1007.7~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-fde | 0 | 5.15.0-1019.24.1 |
| Ubuntu:22.04:LTS | linux-gcp | 0 | 5.15.0-1001.3 |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | 0 | 6.5.0-1010.10~22.04.3 |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 0 | 6.8.0-1010.11~22.04.1 |
| Ubuntu:22.04:LTS | linux-gke | 0 | 5.15.0-1002.2 |
| Ubuntu:22.04:LTS | linux-gkeop | 0 | 5.15.0-1001.2 |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | 0 | 6.5.0-14.14~22.04.1 |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 0 | 6.8.0-38.38~22.04.1 |
| Ubuntu:22.04:LTS | linux-ibm | 0 | 5.15.0-1002.2 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | 5.15.0-1021.26 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 0 | 5.15.0-1004.6 |
| Ubuntu:22.04:LTS | linux-kvm | 0 | 5.15.0-1002.2 |
| Ubuntu:22.04:LTS | linux-lowlatency | 0 | 5.15.0-22.22 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | 0 | 6.5.0-14.14.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 0 | 6.8.0-38.38.1~22.04.2 |
| Ubuntu:22.04:LTS | linux-nvidia | 0 | 5.15.0-1005.5 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | 0 | 6.2.0-1003.3~22.04.1 |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 0 | 6.5.0-1004.4 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | 0 | 5.17.0-1003.3 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | 0 | 6.0.0-1006.6 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | 0 | 6.5.0-1003.3 |
| Ubuntu:22.04:LTS | linux-oracle | 0 | 5.15.0-1001.3 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | 0 | 6.5.0-1013.13~22.04.4 |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 0 | 6.8.0-1006.6~22.04.3 |
| Ubuntu:22.04:LTS | linux-raspi | 0 | 5.15.0-1002.2 |
| Ubuntu:22.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv | 0 | 5.15.0-1004.4 |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | 0 | 6.5.0-17.17.1.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | 0 | 6.8.0-38.38.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | 0 | 6.5.0-1007.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 0 | 5.15.0-1022.26 |
| Ubuntu:22.04:LTS:for:NVIDIA:BlueField | linux-bluefield | 0 | 5.15.0-1011.13 |
| Ubuntu:24.04:LTS | linux | 0 | 6.5.0-9.9 |
| Ubuntu:24.04:LTS | linux-aws | 0 | 6.5.0-1008.8 |
| Ubuntu:24.04:LTS | linux-azure | 0 | 6.5.0-1007.7 |
| Ubuntu:24.04:LTS | linux-gcp | 0 | 6.5.0-1007.7 |
| Ubuntu:24.04:LTS | linux-gke | 0 | 6.8.0-1003.5 |
| Ubuntu:24.04:LTS | linux-gkeop | 0 | 6.8.0-1001.3 |
| Ubuntu:24.04:LTS | linux-ibm | 0 | 6.5.0-1009.9 |
| Ubuntu:24.04:LTS | linux-lowlatency | 0 | 6.5.0-9.9.1 |
| Ubuntu:24.04:LTS | linux-nvidia | 0 | 6.8.0-1007.7 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 0 | 6.8.0-1009.9.1 |
| Ubuntu:24.04:LTS | linux-oem-6.11 | 0 | 6.11.0-1007.7 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | 0 | 6.8.0-1003.3 |
| Ubuntu:24.04:LTS | linux-oracle | 0 | 6.5.0-1010.10 |
| Ubuntu:24.04:LTS | linux-raspi | 0 | 6.5.0-1005.7 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | 6.7.0-2001.1 |
| Ubuntu:24.04:LTS | linux-realtime | 0 | 6.8.0-1008.19 |
| Ubuntu:24.04:LTS | linux-riscv | 0 | 6.5.0-9.9.1 |
| Ubuntu:24.10 | linux | 0 | 6.8.0-31.31 |
| Ubuntu:24.10 | linux-aws | 0 | 6.8.0-1008.8 |
| Ubuntu:24.10 | linux-azure | 0 | 6.8.0-1007.7 |
| Ubuntu:24.10 | linux-gcp | 0 | 6.8.0-1007.7 |
| Ubuntu:24.10 | linux-lowlatency | 0 | 6.8.0-31.31.1 |
| Ubuntu:24.10 | linux-oracle | 0 | 6.8.0-1005.5 |
| Ubuntu:24.10 | linux-raspi | 0 | 6.8.0-1004.4 |
| Ubuntu:24.10 | linux-realtime | 0 | 6.11.0-1001.1 |
| Ubuntu:24.10 | linux-riscv | 0 | 6.8.0-31.31.1 |
| Ubuntu:Pro:14.04:LTS | linux | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | linux-aws | 0 | 4.4.0-1102.107 |
| Ubuntu:Pro:14.04:LTS | linux-azure | 0 | 4.15.0-1131.144~14.04.1 |
| Ubuntu:Pro:14.04:LTS | linux-lts-xenial | 0 | 4.4.0-222.255~14.04.1 |
| Ubuntu:Pro:16.04:LTS | linux | 0 | 4.4.0-222.255 |
| Ubuntu:Pro:16.04:LTS | linux-aws | 0 | 4.4.0-1138.152 |
| Ubuntu:Pro:16.04:LTS | linux-aws-hwe | 0 | 4.15.0-1120.128~16.04.1 |
| Ubuntu:Pro:16.04:LTS | linux-azure | 0 | 4.15.0-1131.144~16.04.1 |
| Ubuntu:Pro:16.04:LTS | linux-gcp | 0 | 4.15.0-1116.130~16.04.1 |
| Ubuntu:Pro:16.04:LTS | linux-hwe | 0 | 4.15.0-169.177~16.04.1 |
| Ubuntu:Pro:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-kvm | 0 | 4.4.0-1103.112 |
| Ubuntu:Pro:16.04:LTS | linux-oracle | 0 | 4.15.0-1087.95~16.04.1 |
| Ubuntu:Pro:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-aws-5.3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp-5.3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gke-4.15 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-aws-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gcp-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gcp-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-hwe-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-intel-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oem-5.10 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oem-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oem-5.6 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oracle-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
Related vulnerabilities
- CVE-2023-52340 The IPv6 implementation in the Linux kernel before 6.3 has a net/ipv6/route.c max_size… Also affects linux
- CVE-2024-39292 In the Linux kernel, the following vulnerability has been resolved: um: Add winch to… Also affects linux
- CVE-2024-38780 In the Linux kernel, the following vulnerability has been resolved: dma-buf/sw-sync… Also affects linux
- CVE-2024-36288 In the Linux kernel, the following vulnerability has been resolved: SUNRPC: Fix loop… Also affects linux
- CVE-2024-38633 In the Linux kernel, the following vulnerability has been resolved: serial: max3100… Also affects linux
- CVE-2024-38634 In the Linux kernel, the following vulnerability has been resolved: serial: max3100: Lock… Also affects linux
- CVE-2024-38637 In the Linux kernel, the following vulnerability has been resolved: greybus: lights… Also affects linux
- CVE-2024-38659 In the Linux kernel, the following vulnerability has been resolved: enic: Validate length… Also affects linux