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