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 bpftoolUpgrade kernel-modules-extraUpgrade perfUpgrade python3-perfUpgrade kernel-develUpgrade python3-perf-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-tools-develUpgrade kernel-toolsUpgrade kernel-debuginfoUpgrade kernel-libbpfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade kernel-libbpf-develUpgrade kernel-livepatch-6.1.124-134.200Upgrade kernel-headersUpgrade kernel-modules-extra-commonUpgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade bpftool-debuginfo | 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-generic-64k-hwe-22.04Upgrade linux-image-ibm-classicUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-6.8.0-1024-nvidia-lowlatencyUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-1025-awsUpgrade linux-image-oem-24.04bUpgrade linux-image-gcpUpgrade linux-image-oem-24.04Upgrade linux-image-oem-24.04aUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-virtualUpgrade linux-image-6.8.0-1008-gkeopUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-ibmUpgrade linux-image-kvmUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1024-nvidia-64kUpgrade linux-image-6.8.0-1024-oemUpgrade linux-image-6.8.0-1026-gcp-64kUpgrade linux-image-6.8.0-56-generic-64kUpgrade linux-image-lowlatencyUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-22.04aUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-aws-lts-24.04Upgrade linux-image-oracleUpgrade linux-image-azure-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oracle-64kUpgrade linux-image-awsUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.8.0-1022-ibmUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-oem-22.04cUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-56-genericUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-6.8.0-1025-azure-fdeUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-57-generic-64kUpgrade linux-image-6.8.0-1024-nvidiaUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-6.8.0-1026-gcpUpgrade linux-image-gcp-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-6.8.0-57-genericUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-realtimeUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-56-lowlatencyUpgrade linux-image-6.8.0-1025-azureUpgrade linux-image-azure-fdeUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oem-22.04dUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-56-lowlatency-64kUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-6.8.0-1022-oracle-64kUpgrade linux-image-gkeopUpgrade linux-image-generic-lpaeUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1024-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azureUpgrade linux-image-6.8.0-1021-gkeUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-raspiUpgrade linux-image-nvidiaUpgrade linux-image-genericUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-6.8.0-1022-oracleUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-gkeUpgrade linux-image-6.8.1-1018-realtime | 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