Description
In the Linux kernel, the following vulnerability has been resolved:
block, bfq: fix possible uaf for 'bfqq->bic'
Our test report a uaf for 'bfqq->bic' in 5.10:
==================================================================
BUG: KASAN: use-after-free in bfq_select_queue+0x378/0xa30
CPU: 6 PID: 2318352 Comm: fsstress Kdump: loaded Not tainted 5.10.0-60.18.0.50.h602.kasan.eulerosv2r11.x86_64 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.1-0-ga5cab58-20220320_160524-szxrtosci10000 04/01/2014
Call Trace:
bfq_select_queue+0x378/0xa30
bfq_dispatch_request+0xe8/0x130
blk_mq_do_dispatch_sched+0x62/0xb0
__blk_mq_sched_dispatch_requests+0x215/0x2a0
blk_mq_sched_dispatch_requests+0x8f/0xd0
__blk_mq_run_hw_queue+0x98/0x180
__blk_mq_delay_run_hw_queue+0x22b/0x240
blk_mq_run_hw_queue+0xe3/0x190
blk_mq_sched_insert_requests+0x107/0x200
blk_mq_flush_plug_list+0x26e/0x3c0
blk_finish_plug+0x63/0x90
__iomap_dio_rw+0x7b5/0x910
iomap_dio_rw+0x36/0x80
ext4_dio_read_iter+0x146/0x190 [ext4]
ext4_file_read_iter+0x1e2/0x230 [ext4]
new_sync_read+0x29f/0x400
vfs_read+0x24e/0x2d0
ksys_read+0xd5/0x1b0
do_syscall_64+0x33/0x40
entry_SYSCALL_64_after_hwframe+0x61/0xc6
Commit 3bc5e683c67d ("bfq: Split shared queues on move between cgroups")
changes that move process to a new cgroup will allocate a new bfqq to
use, however, the old bfqq and new bfqq can point to the same bic:
1) Initial state, two process with io in the same cgroup.
Process 1 Process 2
(BIC1) (BIC2)
| Λ | Λ
| | | |
V | V |
bfqq1 bfqq2
2) bfqq1 is merged to bfqq2.
Process 1 Process 2
(BIC1) (BIC2)
| |
\-------------\|
V
bfqq1 bfqq2(coop)
3) Process 1 exit, then issue new io(denoce IOA) from Process 2.
(BIC2)
| Λ
| |
V |
bfqq2(coop)
4) Before IOA is completed, move Process 2 to another cgroup and issue io.
Process 2
(BIC2)
Λ
|\--------------\
| V
bfqq2 bfqq3
Now that BIC2 points to bfqq3, while bfqq2 and bfqq3 both point to BIC2.
If all the requests are completed, and Process 2 exit, BIC2 will be
freed while there is no guarantee that bfqq2 will be freed before BIC2.
Fix the problem by clearing bfqq->bic while bfqq is detached from bic.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.10.121 – < 5.10.175, 5.15.46 – < 5.15.86, 5.4.198 – < 5.5, 5.17.14 – < 5.18, 5.18.3 – < 5.19, 5.19 | 5.10.175 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.1.4-1 | — |
| Debian 13 | linux | 6.1.4-1 | — |
| Debian 12 | linux | 6.1.4-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1015.17 | — |
| Ubuntu 26.04 LTS | linux-vmware | No fix yet | — |
| Ubuntu 24.04 LTS | linux-intel +9 | No fix yet | — |
| Ubuntu 22.04 LTS | linux +1 | 5.15.0-69.76 | — |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1033.37 | — |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1035.42 | — |
| Ubuntu 22.04 LTS | linux-azure-fde | 5.15.0-1035.42.1 | — |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1031.38 | — |
| Ubuntu 22.04 LTS | linux-gke +1 | 5.15.0-1030.35 | — |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1017.22 | — |
| Ubuntu 22.04 LTS | linux-ibm | 5.15.0-1027.30 | — |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1027.32 | — |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1023.23 | — |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1032.38 | — |
| Ubuntu 22.04 LTS | linux-raspi | 5.15.0-1026.28 | — |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1033.37~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1035.42~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1031.38~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-hwe-5.15 +1 | 5.15.0-69.76~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1027.32~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1014.14~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1032.38~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1030.34~20.04.1 | — |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1023.28 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1034.37 | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux +10 | No fix yet | — |
| Ubuntu Pro 18.04 LTS | linux-aws-5.4 +6 | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 9 | bpftool | 7.2.0-362.8.1.el9_3 | RHSA-2023:6583 |
| RHEL 9 | rv +64 | 5.14.0-362.8.1.el9_3 | RHSA-2023:6583 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP5 | kernel-64kb +6 | 5.14.21-150500.55.127.1 | SUSE-SU-2025:4320-1 |
| SLES 15 SP5 | kernel-default-base | 5.14.21-150500.55.127.1.150500.6.61.1 | SUSE-SU-2025:4320-1 |
| SLES 15 SP4 | kernel-64kb +6 | 5.14.21-150400.24.184.1 | SUSE-SU-2025:4111-1 |
| SLES 15 SP4 | kernel-default-base | 5.14.21-150400.24.184.1.150400.24.94.2 | SUSE-SU-2025:4111-1 |
| SLES 15 SP3 | kernel-64kb +5 | 5.3.18-150300.59.226.2 | SUSE-SU-2025:4188-1 |
| SLES 15 SP3 | kernel-default-base | 5.3.18-150300.59.226.2.150300.18.134.2 | SUSE-SU-2025:4188-1 |
| SLES 15 SP3 | kernel-docs | 5.3.18-150300.59.226.3 | SUSE-SU-2025:4188-1 |
| SLES 15 SP3 | kernel-syms | 5.3.18-150300.59.226.1 | SUSE-SU-2025:4188-1 |
Show 16 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 15 SP5 | kernel-default-base | 5.14.21-150500.55.127.1.150500.6.61.1 | SUSE-SU-2025:4320-1 |
| SLES for SAP 15 SP5 | kernel-docs +4 | 5.14.21-150500.55.127.1 | SUSE-SU-2025:4320-1 |
| SLES for SAP 15 SP4 | kernel-default-base | 5.14.21-150400.24.184.1.150400.24.94.2 | SUSE-SU-2025:4111-1 |
| SLES for SAP 15 SP4 | kernel-docs +4 | 5.14.21-150400.24.184.1 | SUSE-SU-2025:4111-1 |
| SLES for SAP 15 SP3 | kernel-default-base | 5.3.18-150300.59.226.2.150300.18.134.2 | SUSE-SU-2025:4188-1 |
| SLES for SAP 15 SP3 | kernel-docs | 5.3.18-150300.59.226.3 | SUSE-SU-2025:4188-1 |
| SLES for SAP 15 SP3 | kernel-source +3 | 5.3.18-150300.59.226.2 | SUSE-SU-2025:4188-1 |
| SLES for SAP 15 SP3 | kernel-syms | 5.3.18-150300.59.226.1 | SUSE-SU-2025:4188-1 |
| SLE Micro 5.5 | kernel-default-base | 5.14.21-150500.55.127.1.150500.6.61.1 | SUSE-SU-2025:4320-1 |
| SLE Micro 5.5 | kernel-rt +1 | 5.14.21-150500.13.112.1 | SUSE-SU-2025:4149-1 |
| SLE Micro 5.5 | kernel-source +1 | 5.14.21-150500.55.127.1 | SUSE-SU-2025:4320-1 |
| SLE Micro 5.4 | kernel-default | 5.14.21-150400.24.184.1 | SUSE-SU-2025:4111-1 |
| SLE Micro 5.4 | kernel-default-base | 5.14.21-150400.24.184.1.150400.24.94.2 | SUSE-SU-2025:4111-1 |
| SLE Micro 5.4 | kernel-rt +1 | 5.14.21-150400.15.136.1 | SUSE-SU-2025:4139-1 |
| SLE Micro 5.3 | kernel-default | 5.14.21-150400.24.184.1 | SUSE-SU-2025:4111-1 |
| SLE Micro 5.3 | kernel-default-base | 5.14.21-150400.24.184.1.150400.24.94.2 | SUSE-SU-2025:4111-1 |
| SLE Micro 5.3 | kernel-rt +1 | 5.14.21-150400.15.136.1 | SUSE-SU-2025:4139-1 |
| SLE Micro 5.2 | kernel-default | 5.3.18-150300.59.226.2 | SUSE-SU-2026:0475-1, SUSE-SU-2025:4188-1 |
| SLE Micro 5.2 | kernel-default-base | 5.3.18-150300.59.226.2.150300.18.134.2 | SUSE-SU-2026:0475-1, SUSE-SU-2025:4188-1 |
| SLE Micro 5.2 | kernel-rt +1 | 5.3.18-150300.226.1 | SUSE-SU-2026:0495-1, SUSE-SU-2025:4135-1 |
| SLE Live Patching 15 SP5 | kernel-default | 5.14.21-150500.55.127.1 | SUSE-SU-2025:4320-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_32 | 1-150500.11.3.1 | SUSE-SU-2025:4320-1 |
| SLE Live Patching 15 SP4 | kernel-default | 5.14.21-150400.24.184.1 | SUSE-SU-2025:4111-1 |
| SLE Live Patching 15 SP4 | kernel-livepatch-SLE15-SP4_Update_46 | 1-150400.9.5.1 | SUSE-SU-2025:4111-1 |
| SLE Live Patching 15 SP3 | kernel-default | 5.3.18-150300.59.226.2 | SUSE-SU-2025:4188-1 |
| SLE Live Patching 15 SP3 | kernel-livepatch-SLE15-SP3_Update_63 | 1-150300.7.5.2 | SUSE-SU-2025:4188-1 |
| SLE HPC 15 SP5 | kernel-64kb +5 | 5.14.21-150500.55.127.1 | SUSE-SU-2025:4320-1 |
| SLE HPC 15 SP5 | kernel-default-base | 5.14.21-150500.55.127.1.150500.6.61.1 | SUSE-SU-2025:4320-1 |
| SLE HPC 15 SP4 | kernel-64kb +5 | 5.14.21-150400.24.184.1 | SUSE-SU-2025:4111-1 |
| SLE HPC 15 SP4 | kernel-default-base | 5.14.21-150400.24.184.1.150400.24.94.2 | SUSE-SU-2025:4111-1 |
| SLE HPC 15 SP3 | kernel-64kb +4 | 5.3.18-150300.59.226.2 | SUSE-SU-2025:4188-1 |
| SLE HPC 15 SP3 | kernel-default-base | 5.3.18-150300.59.226.2.150300.18.134.2 | SUSE-SU-2025:4188-1 |
| SLE HPC 15 SP3 | kernel-docs | 5.3.18-150300.59.226.3 | SUSE-SU-2025:4188-1 |
| SLE HPC 15 SP3 | kernel-syms | 5.3.18-150300.59.226.1 | SUSE-SU-2025:4188-1 |
| SUSE Manager Server LTS 4.3 | kernel-default-base | 5.14.21-150400.24.184.1.150400.24.94.2 | SUSE-SU-2025:4111-1 |
| SUSE Manager Server LTS 4.3 | kernel-syms +3 | 5.14.21-150400.24.184.1 | SUSE-SU-2025:4111-1 |
| SUSE Manager Proxy LTS 4.3 | kernel-default-base | 5.14.21-150400.24.184.1.150400.24.94.2 | SUSE-SU-2025:4111-1 |
| SUSE Manager Proxy LTS 4.3 | kernel-syms +2 | 5.14.21-150400.24.184.1 | SUSE-SU-2025:4111-1 |
| SUSE Enterprise Storage 7.1 | kernel-64kb +4 | 5.3.18-150300.59.226.2 | SUSE-SU-2025:4188-1 |
| SUSE Enterprise Storage 7.1 | kernel-default-base | 5.3.18-150300.59.226.2.150300.18.134.2 | SUSE-SU-2025:4188-1 |
| SUSE Enterprise Storage 7.1 | kernel-docs | 5.3.18-150300.59.226.3 | SUSE-SU-2025:4188-1 |
| SUSE Enterprise Storage 7.1 | kernel-syms | 5.3.18-150300.59.226.1 | SUSE-SU-2025:4188-1 |
Advisories 10
- WID-SEC-2025-2194 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 9, 2026
- RHSA-2023:6583 Red Hat Security Advisory: kernel security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Oct 17, 2026
- SUSE-SU-2026:0495-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0475-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:4139-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:4149-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:4111-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:4188-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:4135-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:4320-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
References
- https://git.kernel.org/stable/c/5533742c7cb1bc9b1f0bf401cc397d44a3a9e07a
- https://git.kernel.org/stable/c/094f3d9314d67691cb21ba091c1b528f6e3c4893
- https://git.kernel.org/stable/c/b22fd72bfebda3956efc4431b60ddfc0a51e03e0
- https://git.kernel.org/stable/c/761564d93c8265f65543acf0a576b32d66bfa26a
- https://git.kernel.org/stable/c/64dc8c732f5c2b406cc752e6aaa1bd5471159cab