Vulnerability · Published Dec 27, 2024 · Assigned by Linux

CVE-2024-56586f2fs: fix f2fs_bug_on when uninstalling filesystem call f2fs_evict_inode.

Medium 5.5

In plain English

A medium-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 15% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)5.5Medium
Exploit odds (30 days)0.2%top 84.7% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix f2fs_bug_on when uninstalling filesystem call f2fs_evict_inode. creating a large files during checkpoint disable until it runs out of space and then delete it, then remount to enable checkpoint again, and then unmount the filesystem triggers the f2fs_bug_on as below: ------------[ cut here ]------------ kernel BUG at fs/f2fs/inode.c:896! CPU: 2 UID: 0 PID: 1286 Comm: umount Not tainted 6.11.0-rc7-dirty #360 Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI RIP: 0010:f2fs_evict_inode+0x58c/0x610 Call Trace: __die_body+0x15/0x60 die+0x33/0x50 do_trap+0x10a/0x120 f2fs_evict_inode+0x58c/0x610 do_error_trap+0x60/0x80 f2fs_evict_inode+0x58c/0x610 exc_invalid_op+0x53/0x60 f2fs_evict_inode+0x58c/0x610 asm_exc_invalid_op+0x16/0x20 f2fs_evict_inode+0x58c/0x610 evict+0x101/0x260 dispose_list+0x30/0x50 evict_inodes+0x140/0x190 generic_shutdown_super+0x2f/0x150 kill_block_super+0x11/0x40 kill_f2fs_super+0x7d/0x140 deactivate_locked_super+0x2a/0x70 cleanup_mnt+0xb3/0x140 task_work_run+0x61/0x90 The root cause is: creating large files during disable checkpoint period results in not enough free segments, so when writing back root inode will failed in f2fs_enable_checkpoint. When umount the file system after enabling checkpoint, the root inode is dirty in f2fs_evict_inode function, which triggers BUG_ON. The steps to reproduce are as follows: dd if=/dev/zero of=f2fs.img bs=1M count=55 mount f2fs.img f2fs_dir -o checkpoint=disable:10% dd if=/dev/zero of=big bs=1M count=50 sync rm big mount -o remount,checkpoint=enable f2fs_dir umount f2fs_dir Let's redirty inode when there is not free segments during checkpoint is disable.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.123-1DEBIAN-CVE-2024-56586
Debian:13linux6.12.5-1DEBIAN-CVE-2024-56586
Debian:14linux6.12.5-1DEBIAN-CVE-2024-56586
Ubuntu:22.04:LTSlinux5.15.0-135.146UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux6.8.0-58.60UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-aws5.15.0-1080.87UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-aws6.8.0-1027.29UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1027.29~22.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-azure5.15.0-1084.93UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-azure6.8.0-1027.32UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-azure-6.116.11.0-1012.12~24.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1027.32~22.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1084.93.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-azure-nvidia6.8.0-1014.15UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-gcp5.15.0-1079.88UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-gcp6.8.0-1028.30UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-gcp-6.116.11.0-1011.11~24.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1028.30~22.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-gke5.15.0-1077.83UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-gke6.8.0-1023.27UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1062.70UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1010.12UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-hwe-6.116.11.0-21.21~24.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-58.60~22.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-ibm5.15.0-1072.75UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-ibm6.8.0-1024.24UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1024.24~22.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-intel-iot-realtime5.15.0-1073.75UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1075.81UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-kvm5.15.0-1076.81UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-135.146UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-58.60.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-58.60.1~22.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1074.75UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1026.29UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-nvidia-6.116.11.0-1007.7UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1026.29~22.04.1UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1026.29.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1033.33UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1008.8UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1021.21UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-oem-6.116.11.0-1017.17UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-oem-6.86.8.0-1026.26UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-oracle5.15.0-1077.83UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-oracle6.8.0-1024.25UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1024.25~22.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-raspi5.15.0-1074.77UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-raspi6.8.0-1028.32UBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-riscv6.8.0-58.60.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-58.60.1~22.04.1UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2024-56586
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1017.18UBUNTU-CVE-2024-56586
Ubuntu:22.04:LTSlinux-xilinx-zynqmp5.15.0-1044.48UBUNTU-CVE-2024-56586

Affected products (as reported)

VendorProductVersions
Linux Linux 98e4da8ca301e062d79ae168c67e56f3c3de3ce4 – before ac8aaf78bd039fa1be0acaa8e84a56499f79d72198e4da8ca301e062d79ae168c67e56f3c3de3ce4 – before dff561e4060d28edc9a2960d4a87f3c945a96aa398e4da8ca301e062d79ae168c67e56f3c3de3ce4 – before a365de2fbfbe1e6740bfb75ab5c3245cf7bbe4d798e4da8ca301e062d79ae168c67e56f3c3de3ce4 – before ef517d2d21c3d8e2ad35b2bb728bd1c90a31e61798e4da8ca301e062d79ae168c67e56f3c3de3ce4 – before 9669b28f81e0ec6305af7773846fbe2cef1e7d6198e4da8ca301e062d79ae168c67e56f3c3de3ce4 – before 9e28513fd2858911dcf47b84160a8824587536b698e4da8ca301e062d79ae168c67e56f3c3de3ce4 – before d5c367ef8287fb4d235c46a2f8c8d68715f3a0ca
Linux Linux 3.8

References