Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-46704— workqueue: Fix spruious data race in __flush_work()

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于在__flush_work函数中存在不必要的数据竞争。

AI Predicted 5.5 Difficulty: Theoretical EPSS 0.18% · P7

Possible ATT&CK Techniques 1 AI

T1068 · Exploitation for Privilege Escalation

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux 134874e2eee9380c2700411d4844cbc29297bc01< 91d09642127a32fde231face2ff489af70eef316 affected
134874e2eee9380c2700411d4844cbc29297bc01< 8bc35475ef1a23b0e224f3242eb11c76cab0ea88 affected
6.10 affected
< 6.10 unaffected
6.10.7≤ 6.10.* unaffected
6.11≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-46704

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
workqueue: Fix spruious data race in __flush_work()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: workqueue: Fix spruious data race in __flush_work() When flushing a work item for cancellation, __flush_work() knows that it exclusively owns the work item through its PENDING bit. 134874e2eee9 ("workqueue: Allow cancel_work_sync() and disable_work() from atomic contexts on BH work items") added a read of @work->data to determine whether to use busy wait for BH work items that are being canceled. While the read is safe when @from_cancel, @work->data was read before testing @from_cancel to simplify code structure: data = *work_data_bits(work); if (from_cancel && !WARN_ON_ONCE(data & WORK_STRUCT_PWQ) && (data & WORK_OFFQ_BH)) { While the read data was never used if !@from_cancel, this could trigger KCSAN data race detection spuriously: ================================================================== BUG: KCSAN: data-race in __flush_work / __flush_work write to 0xffff8881223aa3e8 of 8 bytes by task 3998 on cpu 0: instrument_write include/linux/instrumented.h:41 [inline] ___set_bit include/asm-generic/bitops/instrumented-non-atomic.h:28 [inline] insert_wq_barrier kernel/workqueue.c:3790 [inline] start_flush_work kernel/workqueue.c:4142 [inline] __flush_work+0x30b/0x570 kernel/workqueue.c:4178 flush_work kernel/workqueue.c:4229 [inline] ... read to 0xffff8881223aa3e8 of 8 bytes by task 50 on cpu 1: __flush_work+0x42a/0x570 kernel/workqueue.c:4188 flush_work kernel/workqueue.c:4229 [inline] flush_delayed_work+0x66/0x70 kernel/workqueue.c:4251 ... value changed: 0x0000000000400000 -> 0xffff88810006c00d Reorganize the code so that @from_cancel is tested before @work->data is accessed. The only problem is triggering KCSAN detection spuriously. This shouldn't need READ_ONCE() or other access qualifiers. No functional changes.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于在__flush_work函数中存在不必要的数据竞争。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 134874e2eee9380c2700411d4844cbc29297bc01 ~ 91d09642127a32fde231face2ff489af70eef316 -
Linux Linux 6.10 -

II. Public POCs for CVE-2024-46704

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-46704

请登录查看更多情报信息。

Patches & Fixes for CVE-2024-46704 (1)

Same Patch Batch · Linux · 2024-09-13 · 40 CVEs total

CVE-2024-46697 9.8 CRITICAL nfsd: ensure that nfsd4_fattr_args.context is zeroed out
CVE-2024-46695 9.8 CRITICAL selinux,smack: don't bypass permissions check in inode_setsecctx hook
CVE-2024-46696 9.8 CRITICAL nfsd: fix potential UAF in nfsd4_cb_getattr_release
CVE-2024-46690 9.8 CRITICAL nfsd: fix nfsd4_deleg_getattr_conflict in presence of third party lease
CVE-2024-46673 7.8 HIGH scsi: aacraid: Fix double-free on probe failure
CVE-2024-46713 7.8 HIGH perf/aux: Fix AUX buffer serialization
CVE-2024-46710 7.8 HIGH drm/vmwgfx: Prevent unmapping active read buffers
CVE-2024-46709 7.8 HIGH drm/vmwgfx: Fix prime with external buffers
CVE-2024-46705 7.8 HIGH drm/xe: reset mmio mappings with devm
CVE-2024-46687 7.8 HIGH btrfs: fix a use-after-free when hitting errors inside btrfs_submit_chunk()
CVE-2024-46674 7.8 HIGH usb: dwc3: st: fix probed platform device ref count on probe error path
CVE-2024-46680 7.8 HIGH Bluetooth: btnxpuart: Fix random crash seen while removing driver
CVE-2024-46678 7.8 HIGH bonding: change ipsec_lock from spin lock to mutex
CVE-2024-46683 7.8 HIGH drm/xe: prevent UAF around preempt fence
CVE-2024-46698 video/aperture: optionally match the device in sysfb_disable()
CVE-2024-46712 drm/vmwgfx: Disable coherent dumb buffers without 3d
CVE-2024-46711 mptcp: pm: fix ID 0 endp usage after multiple re-creations
CVE-2024-46675 usb: dwc3: core: Prevent USB core invalid event buffer address access
CVE-2024-46708 pinctrl: qcom: x1e80100: Fix special pin offsets
CVE-2024-46676 nfc: pn533: Add poll mod list filling check

Showing top 20 of 40 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-46704

No comments yet


Leave a comment