In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix race in concurrent f2fs_stop_gc_thread
In my test case, concurrent calls to f2fs shutdown report the following stack trace:
Oops: general protection fault, probably for non-canonical address 0xc6cfff63bb5513fc: 0000 [#1] PREEMPT SMP PTI CPU: 0 UID: 0 PID: 678 Comm: f2fs_rep_shutdo Not tainted 6.12.0-rc5-next-20241029-g6fb2fa9805c5-dirty #85 Call Trace: <TASK> ? show_regs+0x8b/0xa0 ? __die_body+0x26/0xa0 ? die_addr+0x54/0x90 ? exc_general_protection+0x24b/0x5c0 ? asm_exc_general_protection+0x26/0x30 ? kthread_stop+0x46/0x390 f2fs_stop_gc_thread+0x6c/0x110 f2fs_do_shutdown+0x309/0x3a0 f2fs_ioc_shutdown+0x150/0x1c0 __f2fs_ioctl+0xffd/0x2ac0 f2fs_ioctl+0x76/0xe0 vfs_ioctl+0x23/0x60 __x64_sys_ioctl+0xce/0xf0 x64_sys_call+0x2b1b/0x4540 do_syscall_64+0xa7/0x240 entry_SYSCALL_64_after_hwframe+0x76/0x7e
The root cause is a race condition in f2fs_stop_gc_thread() called from different f2fs shutdown paths:
[CPU0] [CPU1] ---------------------- ----------------------- f2fs_stop_gc_thread f2fs_stop_gc_thread gc_th = sbi->gc_thread gc_th = sbi->gc_thread kfree(gc_th) sbi->gc_thread = NULL < gc_th != NULL > kthread_stop(gc_th->f2fs_gc_task) //UAF
The commit c7f114d864ac ("f2fs: fix to avoid use-after-free in f2fs_stop_gc_thread()") attempted to fix this issue by using a read semaphore to prevent races between shutdown and remount threads, but it fails to prevent all race conditions.
Fix it by converting to write lock of s_umount in f2fs_do_shutdown().
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | May 15, 2025 | Dec 27, 2024 |
| Ubuntu | — | Upgrade linux-image-gke-5.15Upgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.4.0-1156-azureUpgrade linux-image-nvidia-5.15Upgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-fips-5.15Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.4.0-1156-gcpUpgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-1093-intel-iotgUpgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-1095-oracleUpgrade linux-image-5.15.0-1050-nvidia-tegraUpgrade linux-image-5.15.0-1098-aws-64kUpgrade linux-image-kvm-5.4Upgrade linux-image-azure-5.4Upgrade linux-image-azure-fipsUpgrade linux-image-gcp-5.4Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-5.15.0-1098-gcp-fipsUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-nvidiaUpgrade linux-image-raspi2Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-snapdragon-5.4Upgrade linux-image-oem-24.04bUpgrade linux-image-5.15.0-1102-azureUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-generic-64k-5.15Upgrade linux-image-5.15.0-1062-xilinx-zynqmpUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-generic-lpae-hwe-18.04Upgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-gcp-fips-5.4Upgrade linux-image-kvmUpgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-5.4.0-1136-raspiUpgrade linux-image-5.15.0-1090-intel-iot-realtimeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-fips-5.4Upgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-164-generic-lpaeUpgrade linux-image-5.4.0-1140-kvmUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-6.11.0-1015-oemUpgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-azure-lts-20.04Upgrade linux-image-5.15.0-1090-kvmUpgrade linux-image-ibm-5.4Upgrade linux-image-generic-lpaeUpgrade linux-image-aws-5.4Upgrade linux-image-5.15.0-1097-realtimeUpgrade linux-image-oem-22.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-aws-lts-20.04Upgrade linux-image-oem-20.04bUpgrade linux-image-aws-64k-5.15Upgrade linux-image-5.15.0-164-genericUpgrade linux-image-oracle-64kUpgrade linux-image-oem-20.04dUpgrade linux-image-virtual-5.4Upgrade linux-image-raspi-5.4Upgrade linux-image-5.15.0-164-lowlatency-64kUpgrade linux-image-raspiUpgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-tegraUpgrade linux-image-lowlatencyUpgrade linux-image-5.4.0-1057-iotUpgrade linux-image-azure-lts-24.04Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-5.4.0-224-generic-lpaeUpgrade linux-image-5.4.0-224-lowlatencyUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-6.8.0-1026-oemUpgrade linux-image-aws-fips-5.4Upgrade linux-image-raspi2-hwe-18.04Upgrade linux-image-gcp-fipsUpgrade linux-image-oracle-5.15Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-58-genericUpgrade linux-image-raspi-realtimeUpgrade linux-image-ibm-classicUpgrade linux-image-aws-lts-22.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-azure-nvidiaUpgrade linux-image-5.4.0-1157-azure-fipsUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-azureUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-5.15.0-1098-gcpUpgrade linux-image-ibmUpgrade linux-image-5.4.0-224-genericUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-generic-64kUpgrade linux-image-5.4.0-1153-awsUpgrade linux-image-lowlatency-64kUpgrade linux-image-raspi-nolpaeUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-oem-20.04cUpgrade linux-image-generic-5.4Upgrade linux-image-gcp-5.15Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-oemUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-6.8.0-1027-awsUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-5.4.0-1156-gcp-fipsUpgrade linux-image-generic-5.15Upgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-1098-aws-fipsUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-oem-osp1Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-5.4.0-1127-fipsUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-aws-lts-24.04Upgrade linux-image-virtual-5.15Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-164-fipsUpgrade linux-image-lowlatency-5.4Upgrade linux-image-oracle-5.4Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-gkeop-5.15Upgrade linux-image-azure-fips-5.4Upgrade linux-image-5.15.0-1092-raspiUpgrade linux-image-5.15.0-1050-nvidia-tegra-rtUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-5.15.0-1098-awsUpgrade linux-image-5.15.0-164-lowlatencyUpgrade linux-image-5.4.0-1153-aws-fipsUpgrade linux-image-fipsUpgrade linux-image-5.15.0-1093-nvidia-lowlatencyUpgrade linux-image-oracleUpgrade linux-image-raspi-5.15Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-virtualUpgrade linux-image-oem-20.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.4.0-1099-ibmUpgrade linux-image-kvm-5.15Upgrade linux-image-6.11.0-1009-awsUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-5.4.0-1151-oracleUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-aws-fipsUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-5.15.0-1102-azure-fipsUpgrade linux-image-5.15.0-1094-gkeUpgrade linux-image-5.15.0-1092-ibmUpgrade linux-image-5.4.0-1071-xilinx-zynqmpUpgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-realtimeUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-azure-5.15Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-6.8.0-1027-azureUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-azure-fips-5.15Upgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-5.15.0-1039-nvidia-tegra-igxUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-gkeUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-24.04Upgrade linux-image-oem-22.04dUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-ibm-5.15Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-azure-cvmUpgrade linux-image-awsUpgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-6.11.0-18-genericUpgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-5.15.0-1093-nvidiaUpgrade linux-image-aws-5.15Upgrade linux-image-5.15.0-164-generic-64kUpgrade linux-image-5.15.0-1039-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-genericUpgrade linux-image-5.15.0-1081-gkeopUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-intelUpgrade linux-image-nvidia-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-generic-lpae-5.4Upgrade linux-image-realtime-5.15Upgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-aws-fips-5.15Upgrade linux-image-xilinx-zynqmp-5.4 | Feb 20, 2025 | Dec 27, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub