In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix use-after-free in btrfs_encoded_read_endio()
Shinichiro reported the following use-after free that sometimes is happening in our CI system when running fstests' btrfs/284 on a TCMU runner device:
BUG: KASAN: slab-use-after-free in lock_release+0x708/0x780 Read of size 8 at addr ffff888106a83f18 by task kworker/u80:6/219
CPU: 8 UID: 0 PID: 219 Comm: kworker/u80:6 Not tainted 6.12.0-rc6-kts+ #15 Hardware name: Supermicro Super Server/X11SPi-TF, BIOS 3.3 02/21/2020 Workqueue: btrfs-endio btrfs_end_bio_work [btrfs] Call Trace: <TASK> dump_stack_lvl+0x6e/0xa0 ? lock_release+0x708/0x780 print_report+0x174/0x505 ? lock_release+0x708/0x780 ? __virt_addr_valid+0x224/0x410 ? lock_release+0x708/0x780 kasan_report+0xda/0x1b0 ? lock_release+0x708/0x780 ? __wake_up+0x44/0x60 lock_release+0x708/0x780 ? __pfx_lock_release+0x10/0x10 ? __pfx_do_raw_spin_lock+0x10/0x10 ? lock_is_held_type+0x9a/0x110 _raw_spin_unlock_irqrestore+0x1f/0x60 __wake_up+0x44/0x60 btrfs_encoded_read_endio+0x14b/0x190 [btrfs] btrfs_check_read_bio+0x8d9/0x1360 [btrfs] ? lock_release+0x1b0/0x780 ? trace_lock_acquire+0x12f/0x1a0 ? __pfx_btrfs_check_read_bio+0x10/0x10 [btrfs] ? process_one_work+0x7e3/0x1460 ? lock_acquire+0x31/0xc0 ? process_one_work+0x7e3/0x1460 process_one_work+0x85c/0x1460 ? __pfx_process_one_work+0x10/0x10 ? assign_work+0x16c/0x240 worker_thread+0x5e6/0xfc0 ? __pfx_worker_thread+0x10/0x10 kthread+0x2c3/0x3a0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x31/0x70 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK>
Allocated by task 3661: kasan_save_stack+0x30/0x50 kasan_save_track+0x14/0x30 __kasan_kmalloc+0xaa/0xb0 btrfs_encoded_read_regular_fill_pages+0x16c/0x6d0 [btrfs] send_extent_data+0xf0f/0x24a0 [btrfs] process_extent+0x48a/0x1830 [btrfs] changed_cb+0x178b/0x2ea0 [btrfs] btrfs_ioctl_send+0x3bf9/0x5c20 [btrfs] _btrfs_ioctl_send+0x117/0x330 [btrfs] btrfs_ioctl+0x184a/0x60a0 [btrfs] __x64_sys_ioctl+0x12e/0x1a0 do_syscall_64+0x95/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Freed by task 3661: kasan_save_stack+0x30/0x50 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3b/0x70 __kasan_slab_free+0x4f/0x70 kfree+0x143/0x490 btrfs_encoded_read_regular_fill_pages+0x531/0x6d0 [btrfs] send_extent_data+0xf0f/0x24a0 [btrfs] process_extent+0x48a/0x1830 [btrfs] changed_cb+0x178b/0x2ea0 [btrfs] btrfs_ioctl_send+0x3bf9/0x5c20 [btrfs] _btrfs_ioctl_send+0x117/0x330 [btrfs] btrfs_ioctl+0x184a/0x60a0 [btrfs] __x64_sys_ioctl+0x12e/0x1a0 do_syscall_64+0x95/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e
The buggy address belongs to the object at ffff888106a83f00 which belongs to the cache kmalloc-rnd-07-96 of size 96 The buggy address is located 24 bytes inside of freed 96-byte region [ffff888106a83f00, ffff888106a83f60)
The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888106a83800 pfn:0x106a83 flags: 0x17ffffc0000000(node=0|zone=2|lastcpupid=0x1fffff) page_type: f5(slab) raw: 0017ffffc0000000 ffff888100053680 ffffea0004917200 0000000000000004 raw: ffff888106a83800 0000000080200019 00000001f5000000 0000000000000000 page dumped because: kasan: bad access detected
Memory state around the buggy address: ffff888106a83e00: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ffff888106a83e80: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc >ffff888106a83f00: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ^ ffff888106a83f80: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ffff888106a84000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================
Further analyzing the trace and ---truncated---
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 |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel-libbpf-develUpgrade kernel-headersUpgrade kernel-livepatch-6.1.124-134.200Upgrade perf-debuginfoUpgrade kernelUpgrade kernel-modules-extra-commonUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-modules-extraUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfoUpgrade kernel-libbpfUpgrade kernel-develUpgrade python3-perf-debuginfoUpgrade kernel-tools-develUpgrade python3-perfUpgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-libbpf-static | Mar 10, 2025 | Dec 27, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Feb 10, 2025 | Dec 27, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Dec 27, 2024 |
| Ubuntu | — | Upgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-6.8.0-1024-nvidia-lowlatencyUpgrade linux-image-6.8.0-57-generic-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcpUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1025-azure-fdeUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-raspi-realtimeUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-virtualUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-1024-oemUpgrade linux-image-oracle-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oracleUpgrade linux-image-6.8.0-1022-ibmUpgrade linux-image-awsUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-oem-22.04cUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-24.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-ibmUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1026-gcp-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-56-generic-64kUpgrade linux-image-6.8.0-1025-awsUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1008-gkeopUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.8.0-56-genericUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1024-nvidia-64kUpgrade linux-image-6.8.0-1024-nvidiaUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-oem-24.04bUpgrade linux-image-ibm-classicUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-gkeopUpgrade linux-image-generic-lpaeUpgrade linux-image-generic-64kUpgrade linux-image-azureUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1025-azureUpgrade linux-image-6.8.0-56-lowlatencyUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1021-gkeUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-lowlatency-64kUpgrade linux-image-realtimeUpgrade linux-image-oem-22.04dUpgrade linux-image-azure-fdeUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-6.8.0-1024-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-57-genericUpgrade linux-image-nvidia-6.8Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-6.8.0-1022-oracle-64kUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-6.8.0-1026-gcpUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-gcp-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-genericUpgrade linux-image-gkeUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.1-1018-realtimeUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1022-oracleUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-6.8.0-56-lowlatency-64kUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-raspiUpgrade linux-image-6.11.0-21-generic | Mar 28, 2025 | Dec 27, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 29, 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