In the Linux kernel, the following vulnerability has been resolved:
io_uring/io-wq: Use set_bit() and test_bit() at worker->flags
Utilize set_bit() and test_bit() on worker->flags within io_uring/io-wq to address potential data races.
The structure io_worker->flags may be accessed through various data paths, leading to concurrency issues. When KCSAN is enabled, it reveals data races occurring in io_worker_handle_work and io_wq_activate_free_worker functions.
BUG: KCSAN: data-race in io_worker_handle_work / io_wq_activate_free_worker write to 0xffff8885c4246404 of 4 bytes by task 49071 on cpu 28: io_worker_handle_work (io_uring/io-wq.c:434 io_uring/io-wq.c:569) io_wq_worker (io_uring/io-wq.c:?) <snip>
read to 0xffff8885c4246404 of 4 bytes by task 49024 on cpu 5: io_wq_activate_free_worker (io_uring/io-wq.c:? io_uring/io-wq.c:285) io_wq_enqueue (io_uring/io-wq.c:947) io_queue_iowq (io_uring/io_uring.c:524) io_req_task_submit (io_uring/io_uring.c:1511) io_handle_tw_list (io_uring/io_uring.c:1198) <snip>
Line numbers against commit 18daea77cca6 ("Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm").
These races involve writes and reads to the same memory location by different tasks running on different CPUs. To mitigate this, refactor the code to use atomic operations such as set_bit(), test_bit(), and clear_bit() instead of basic "and" and "or" operations. This ensures thread-safe manipulation of worker flags.
Also, move `create_index` to avoid holes in the structure.
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 |
|---|---|---|---|---|
| Debian | — | Upgrade linuxNo solution exists | May 15, 2025 | Jul 12, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernelUpgrade python3-perf | Mar 18, 2025 | Jul 12, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade bpftoolUpgrade python3-perf | Oct 9, 2024 | Jul 12, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Dec 5, 2024 | Jul 12, 2024 |
| Suse | — | Upgrade kernel-azure-livepatch-develUpgrade kselftests-kmp-64kbUpgrade dtb-xilinxUpgrade kernel-debug-develUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-rtUpgrade kernel-64kb-optionalUpgrade kernel-default-extraUpgrade kernel-obs-qaUpgrade dtb-amazonUpgrade gfs2-kmp-64kbUpgrade kernel-64kbUpgrade kernel-kvmsmallUpgrade kernel-zfcpdumpUpgrade gfs2-kmp-rtUpgrade kernel-azure-extraUpgrade kernel-syms-rtUpgrade dtb-appleUpgrade kernel-rt-livepatch-develUpgrade cluster-md-kmp-azureUpgrade dtb-freescaleUpgrade kernel-default-develUpgrade kernel-default-vdsoUpgrade kernel-devel-azureUpgrade dtb-qcomUpgrade kernel-docs-htmlUpgrade dtb-alteraUpgrade dtb-apmUpgrade kernel-azure-optionalUpgrade kernel-devel-rtUpgrade dtb-amlogicUpgrade kernel-debugUpgrade kernel-symsUpgrade ocfs2-kmp-rtUpgrade dtb-broadcomUpgrade kernel-rt_debug-vdsoUpgrade dtb-hisiliconUpgrade kernel-source-azureUpgrade kernel-64kb-develUpgrade kernel-macrosUpgrade kernel-azure-vdsoUpgrade ocfs2-kmp-64kbUpgrade kernel-kvmsmall-develUpgrade kernel-debug-livepatch-develUpgrade kernel-rt-livepatchUpgrade kernel-sourceUpgrade dtb-lgUpgrade dtb-marvellUpgrade kernel-azure-develUpgrade kernel-rtUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-exynosUpgrade kernel-default-livepatchUpgrade kernel-rt_debug-develUpgrade kernel-64kb-livepatch-develUpgrade kernel-syms-azureUpgrade reiserfs-kmp-64kbUpgrade cluster-md-kmp-defaultUpgrade kernel-kvmsmall-vdsoUpgrade reiserfs-kmp-azureUpgrade kernel-develUpgrade kernel-rt-develUpgrade dtb-socionextUpgrade kernel-default-baseUpgrade dtb-nvidiaUpgrade dtb-armUpgrade kselftests-kmp-defaultUpgrade kernel-default-base-rebuildUpgrade kernel-rt-extraUpgrade kernel-source-rtUpgrade dlm-kmp-azureUpgrade kernel-rt_debugUpgrade dtb-allwinnerUpgrade kernel-docsUpgrade kernel-default-optionalUpgrade kernel-debug-vdsoUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-rtUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-rtUpgrade dtb-mediatekUpgrade dlm-kmp-rtUpgrade dtb-amdUpgrade kernel-64kb-extraUpgrade kernel-defaultUpgrade dtb-caviumUpgrade dtb-sprdUpgrade kselftests-kmp-azureUpgrade gfs2-kmp-azureUpgrade kernel-default-livepatch-develUpgrade kernel-source-vanillaUpgrade dtb-rockchipUpgrade ocfs2-kmp-azureUpgrade kernel-azureUpgrade gfs2-kmp-defaultUpgrade kernel-obs-buildUpgrade dlm-kmp-defaultUpgrade dtb-renesasUpgrade ocfs2-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade kernel-rt-optional | Aug 14, 2024 | Jul 12, 2024 |
| Ubuntu | — | Upgrade linux-image-6.8.0-44-generic-64kUpgrade linux-image-kvmUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1012-oracle-64kUpgrade linux-image-ibm-classicUpgrade linux-image-awsUpgrade linux-image-6.8.0-45-genericUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1012-ibmUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-44-lowlatencyUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1014-gcpUpgrade linux-image-6.8.0-1012-oracleUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1015-awsUpgrade linux-image-raspiUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1013-nvidia-lowlatencyUpgrade linux-image-azure-fdeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1010-gkeUpgrade linux-image-oem-22.04dUpgrade linux-image-genericUpgrade linux-image-ibmUpgrade linux-image-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-44-genericUpgrade linux-image-6.8.0-1013-nvidiaUpgrade linux-image-6.8.0-1013-nvidia-lowlatency-64kUpgrade linux-image-oracle-64kUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1014-azure-fdeUpgrade linux-image-nvidia-64kUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-6.8.0-1011-raspiUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-45-generic-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1012-oemUpgrade linux-image-nvidiaUpgrade linux-image-lowlatency-64kUpgrade linux-image-oem-22.04aUpgrade linux-image-6.8.0-44-lowlatency-64kUpgrade linux-image-6.8.0-1014-azureUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-azureUpgrade linux-image-gcpUpgrade linux-image-oem-22.04cUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1013-nvidia-64kUpgrade linux-image-generic-64k | Sep 12, 2024 | Jul 12, 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