Cloudanix VulnDB

CVE-2023-52444

High · 7.8

CVSS

7.8

EPSS

0.2%

Published

Feb 22, 2024

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in how Linux handles certain file moves on flash-based storage can silently damage folder information, potentially making files unreachable until the system is updated.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Tampering
Component
OS kernel
Class
Memory Corruption
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

f2fs_rename() in the Linux kernel fails to call f2fs_set_link() to update the ".." entry when performing a cross-directory rename that also creates a whiteout, leaving the directory entry with an incorrect parent inode number and causing dirent corruption.

Why it matters to the business

Local users on systems using the f2fs filesystem can trigger directory corruption that leads to filesystem inconsistency, failed fsck repairs, and potential data inaccessibility; the issue has been public for over two years with no known active exploitation.

How an attack unfolds

An attacker with local access on an f2fs volume creates a nested directory structure and then invokes renameat2 with the whiteout flag to move the source directory into a different parent; the missing ".." update leaves an invalid inode reference that fsck later flags as corruption.

How to fix it

Upgrade the Linux kernel to a version containing commit 02160112e6d45c2610b049df6eb693d7a2e57b46 or later; rebuild and reboot with the fixed kernel, then run fsck.f2fs on affected volumes to verify directory integrity.

How to confirm the fix worked

Confirm the running kernel contains commit 02160112e6d45c2610b049df6eb693d7a2e57b46; create the repro directory layout and run fsck.f2fs to ensure no "Bad inode number for '..'" assertions occur.

Typical attack path

  1. mkdir -p dir/foo on an f2fs mount
  2. renameat2 -w dir/foo bar
  3. trigger fsck or directory traversal that reads the corrupted ".." entry

How to detect it

Scan kernel logs and fsck output for "Bad inode number for '..'" or "__chk_dots_dentries" assertions; examine audit logs for renameat2 calls with the RENAME_WHITEOUT flag on f2fs mounts.

What your security team should do

  • Patch all f2fs-using systems to the fixed kernel commit immediately
  • Add f2fs filesystem mounts to routine fsck monitoring
  • Review local unprivileged user access policies on systems hosting f2fs volumes

The record

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to avoid dirent corruption As Al reported in link[1]: f2fs_rename() ... if (old_dir != new_dir && !whiteout) f2fs_set_link(old_inode, old_dir_entry, old_dir_page, new_dir); else f2fs_put_page(old_dir_page, 0); You want correct inumber in the ".." link. And cross-directory rename does move the source to new parent, even if you'd been asked to leave a whiteout in the old place. [1] https://lore.kernel.org/all/20231017055040.GN800259@ZenIV/ With below testcase, it may cause dirent corruption, due to it missed to call f2fs_set_link() to update ".." link to new directory. - mkdir -p dir/foo - renameat2 -w dir/foo bar [ASSERT] (__chk_dots_dentries:1421) --> Bad inode number[0x4] for '..', parent parent ino is [0x3] [FSCK] other corrupted bugs [Fail]

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 linux 0 4.19.316-1
Debian:10 linux-5.10 0 5.10.209-2~deb10u1
Debian:11 linux 0 5.10.209-1
Debian:12 linux 0 6.1.76-1
Debian:13 linux 0 6.6.15-1
Linux Kernel 4.2.0 4.19.306
Ubuntu:14.04:LTS linux 0 3.11.0-12.19
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
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-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 No fix
Ubuntu:18.04:LTS linux-gkeop-5.4 0 No fix
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:20.04:LTS linux 0 5.4.0-176.196
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1122.132
Ubuntu:20.04:LTS linux-aws-5.11 0 No fix
Ubuntu:20.04:LTS linux-aws-5.13 0 No fix
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1057.63~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1127.134
Ubuntu:20.04:LTS linux-azure-5.11 0 No fix
Ubuntu:20.04:LTS linux-azure-5.13 0 No fix
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1060.69~20.04.1
Ubuntu:20.04:LTS linux-azure-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 5.15.0-1060.69~20.04.1.1
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1082.89
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1126.135
Ubuntu:20.04:LTS linux-gcp-5.11 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.13 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1055.63~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.8 0 No fix
Ubuntu:20.04:LTS linux-gke 0 No fix
Ubuntu:20.04:LTS linux-gke-5.15 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 5.4.0-1089.93
Ubuntu:20.04:LTS linux-gkeop-5.15 0 5.15.0-1040.46~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.11 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.13 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.15 0 5.15.0-102.112~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.8 0 No fix
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1069.74
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1050.53~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-1052.58~20.04.1
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1034.35
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1110.117
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-102.112~20.04.1
Ubuntu:20.04:LTS linux-nvidia-tegra-5.15 0 5.15.0-1025.25~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 No fix
Ubuntu:20.04:LTS linux-oem-5.6 0 No fix
Ubuntu:20.04:LTS linux-oracle 0 5.4.0-1121.130
Ubuntu:20.04:LTS linux-oracle-5.11 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.13 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1055.61~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.8 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1106.118
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-1053.57~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-1041.45
Ubuntu:22.04:LTS linux 0 5.15.0-102.112
Ubuntu:22.04:LTS linux-allwinner-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws 0 5.15.0-1057.63
Ubuntu:22.04:LTS linux-aws-5.19 0 No fix
Ubuntu:22.04:LTS linux-aws-6.2 0 No fix
Ubuntu:22.04:LTS linux-aws-6.5 0 No fix
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-1060.69
Ubuntu:22.04:LTS linux-azure-5.19 0 No fix
Ubuntu:22.04:LTS linux-azure-6.2 0 No fix
Ubuntu:22.04:LTS linux-azure-6.5 0 6.5.0-1022.23~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-1060.69.1
Ubuntu:22.04:LTS linux-azure-fde-5.19 0 No fix
Ubuntu:22.04:LTS linux-azure-fde-6.2 0 No fix
Ubuntu:22.04:LTS linux-azure-fde-6.8 0 No fix
Ubuntu:22.04:LTS linux-gcp 0 5.15.0-1055.63
Ubuntu:22.04:LTS linux-gcp-5.19 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.2 0 No fix
Ubuntu:22.04:LTS linux-gcp-6.5 0 6.5.0-1022.24~22.04.1
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-1054.59
Ubuntu:22.04:LTS linux-gkeop 0 5.15.0-1040.46
Ubuntu:22.04:LTS linux-hwe-5.19 0 No fix
Ubuntu:22.04:LTS linux-hwe-6.2 0 No fix
Ubuntu:22.04:LTS linux-hwe-6.5 0 6.5.0-41.41~22.04.2
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-1050.53
Ubuntu:22.04:LTS linux-intel-iot-realtime 0 No fix
Ubuntu:22.04:LTS linux-intel-iotg 0 5.15.0-1052.58
Ubuntu:22.04:LTS linux-kvm 0 5.15.0-1054.59
Ubuntu:22.04:LTS linux-lowlatency 0 5.15.0-102.112
Ubuntu:22.04:LTS linux-lowlatency-hwe-5.19 0 No fix
Ubuntu:22.04:LTS linux-lowlatency-hwe-6.2 0 No fix
Ubuntu:22.04:LTS linux-lowlatency-hwe-6.5 0 6.5.0-41.41.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-1048.48
Ubuntu:22.04:LTS linux-nvidia-6.2 0 No fix
Ubuntu:22.04:LTS linux-nvidia-6.5 0 6.5.0-1021.22
Ubuntu:22.04:LTS linux-nvidia-6.8 0 6.8.0-1008.8~22.04.1
Ubuntu:22.04:LTS linux-nvidia-tegra 0 5.15.0-1025.25
Ubuntu:22.04:LTS linux-nvidia-tegra-igx 0 5.15.0-1012.12
Ubuntu:22.04:LTS linux-oem-5.17 0 No fix
Ubuntu:22.04:LTS linux-oem-6.0 0 No fix
Ubuntu:22.04:LTS linux-oem-6.1 0 6.1.0-1035.35
Ubuntu:22.04:LTS linux-oem-6.5 0 6.5.0-1024.25
Ubuntu:22.04:LTS linux-oem-6.5 0 6.5.0-1022.23
Ubuntu:22.04:LTS linux-oracle 0 5.15.0-1055.61
Ubuntu:22.04:LTS linux-oracle-6.5 0 6.5.0-1024.24~22.04.1
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-1050.53
Ubuntu:22.04:LTS linux-realtime 0 No fix
Ubuntu:22.04:LTS linux-riscv 0 No fix
Ubuntu:22.04:LTS linux-riscv-5.19 0 No fix
Ubuntu:22.04:LTS linux-riscv-6.5 0 6.5.0-40.40.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-5.19 0 No fix
Ubuntu:22.04:LTS linux-starfive-6.2 0 No fix
Ubuntu:22.04:LTS linux-starfive-6.5 0 6.5.0-1015.16~22.04.1
Ubuntu:22.04:LTS linux-xilinx-zynqmp 0 No fix
Ubuntu:22.04:LTS linux-xilinx-zynqmp 0 5.15.0-1030.34
Ubuntu:22.04:LTS:for:NVIDIA:BlueField linux-bluefield 0 No fix
Ubuntu:23.10 linux 0 6.5.0-41.41
Ubuntu:23.10 linux-aws 0 6.5.0-1021.21
Ubuntu:23.10 linux-azure 0 6.5.0-1022.23
Ubuntu:23.10 linux-gcp 0 6.5.0-1022.24
Ubuntu:23.10 linux-laptop 0 6.5.0-1017.20
Ubuntu:23.10 linux-lowlatency 0 6.5.0-41.41.1
Ubuntu:23.10 linux-oracle 0 6.5.0-1024.24
Ubuntu:23.10 linux-raspi 0 6.5.0-1018.21
Ubuntu:23.10 linux-starfive 0 6.5.0-1015.16
Ubuntu:24.04:LTS linux 0 6.8.0-11.11
Ubuntu:24.04:LTS linux-aws 0 6.8.0-1001.1
Ubuntu:24.04:LTS linux-azure 0 6.8.0-1001.1
Ubuntu:24.04:LTS linux-azure-fde 0 No fix
Ubuntu:24.04:LTS linux-gcp 0 6.8.0-1002.2
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.8.0-1001.1
Ubuntu:24.04:LTS linux-lowlatency 0 6.8.0-7.7.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.8.0-1001.1
Ubuntu:24.04:LTS linux-raspi 0 6.8.0-1001.1
Ubuntu:24.04:LTS linux-raspi-realtime 0 No fix
Ubuntu:24.04:LTS linux-realtime 0 6.8.0-1008.19
Ubuntu:24.04:LTS linux-riscv 0 6.8.0-20.20.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:Nvidia-BlueField:22.04:LTS linux-bluefield 0 5.15.0-1040.42
Ubuntu:Pro:14.04:LTS linux-aws 0 4.4.0-1134.140
Ubuntu:Pro:14.04:LTS linux-azure 0 No fix
Ubuntu:Pro:14.04:LTS linux-azure 0 4.15.0-1179.194~14.04.1
Ubuntu:Pro:14.04:LTS linux-lts-xenial 0 4.4.0-257.291~14.04.1
Ubuntu:Pro:16.04:LTS linux 0 4.4.0-257.291
Ubuntu:Pro:16.04:LTS linux-aws 0 4.4.0-1172.187
Ubuntu:Pro:16.04:LTS linux-aws-hwe 0 4.15.0-1170.183~16.04.1
Ubuntu:Pro:16.04:LTS linux-azure 0 No fix
Ubuntu:Pro:16.04:LTS linux-azure 0 4.15.0-1179.194~16.04.1
Ubuntu:Pro:16.04:LTS linux-gcp 0 4.15.0-1164.181~16.04.1
Ubuntu:Pro:16.04:LTS linux-hwe 0 4.15.0-227.239~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-1135.145
Ubuntu:Pro:16.04:LTS linux-oracle 0 4.15.0-1133.144~16.04.1
Ubuntu:Pro:18.04:LTS linux 0 4.15.0-227.239
Ubuntu:Pro:18.04:LTS linux-aws 0 4.15.0-1170.183
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-aws-5.4 0 5.4.0-1122.132~18.04.1
Ubuntu:Pro:18.04:LTS linux-azure 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure-4.15 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure-4.15 0 4.15.0-1179.194
Ubuntu:Pro:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure-5.4 0 5.4.0-1127.134~18.04.1
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-4.15 0 4.15.0-1164.181

Related vulnerabilities