Release Date: | 2024-10-21 |
In the Linux kernel, the following vulnerability has been resolved:\nbtrfs: wait for fixup workers before stopping cleaner kthread during umount\nDuring unmount, at close_ctree(), we have the following steps in this order:\n1) Park the cleaner kthread - this doesn't destroy the kthread, it basically\nhalts its execution (wake ups against it work but do nothing);\n2) We stop the cleaner kthread - this results in freeing the respective\nstruct task_struct;\n3) We call btrfs_stop_all_workers() which waits for any jobs running in all\nthe work queues and then free the work queues.\nSyzbot reported a case where a fixup worker resulted in a crash when doing\na delayed iput on its inode while attempting to wake up the cleaner at\nbtrfs_add_delayed_iput(), because the task_struct of the cleaner kthread\nwas already freed. This can happen during unmount because we don't wait\nfor any fixup workers still running before we call kthread_stop() against\nthe cleaner kthread, which stops and free all its resources.\nFix this by waiting for any fixup workers at close_ctree() before we call\nkthread_stop() against the cleaner and run pending delayed iputs.\nThe stack traces reported by syzbot were the following:\nBUG: KASAN: slab-use-after-free in __lock_acquire+0x77/0x2050 kernel/locking/lockdep.c:5065\nRead of size 8 at addr ffff8880272a8a18 by task kworker/u8:3/52\nCPU: 1 UID: 0 PID: 52 Comm: kworker/u8:3 Not tainted 6.12.0-rc1-syzkaller #0\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024\nWorkqueue: btrfs-fixup btrfs_work_helper\nCall Trace:\n
See more information about CVE-2024-49867 from MITRE CVE dictionary and NIST NVD
NOTE: The following CVSS metrics and score provided are preliminary and subject to review.
Base Score: | 5.5 |
Vector String: | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Version: | 3.1 |
Attack Vector: | Local |
Attack Complexity: | Low |
Privileges Required: | Low |
User Interaction: | None |
Scope: | Unchanged |
Confidentiality: | None |
Integrity: | None |
Availability: | High |
Platform | Errata | Release Date |
Oracle Linux version 7 (kernel-uek) | ELSA-2024-12884 | 2024-12-16 |
Oracle Linux version 8 (kernel-uek) | ELSA-2024-12884 | 2024-12-16 |
This page is generated automatically and has not been checked for errors or omissions. For clarification or corrections: