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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-53160— rcu/kvfree: Fix data-race in __mod_timer / kvfree_call_rcu

EPSS 0.01% · P2
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-53160

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
rcu/kvfree: Fix data-race in __mod_timer / kvfree_call_rcu
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: rcu/kvfree: Fix data-race in __mod_timer / kvfree_call_rcu KCSAN reports a data race when access the krcp->monitor_work.timer.expires variable in the schedule_delayed_monitor_work() function: <snip> BUG: KCSAN: data-race in __mod_timer / kvfree_call_rcu read to 0xffff888237d1cce8 of 8 bytes by task 10149 on cpu 1: schedule_delayed_monitor_work kernel/rcu/tree.c:3520 [inline] kvfree_call_rcu+0x3b8/0x510 kernel/rcu/tree.c:3839 trie_update_elem+0x47c/0x620 kernel/bpf/lpm_trie.c:441 bpf_map_update_value+0x324/0x350 kernel/bpf/syscall.c:203 generic_map_update_batch+0x401/0x520 kernel/bpf/syscall.c:1849 bpf_map_do_batch+0x28c/0x3f0 kernel/bpf/syscall.c:5143 __sys_bpf+0x2e5/0x7a0 __do_sys_bpf kernel/bpf/syscall.c:5741 [inline] __se_sys_bpf kernel/bpf/syscall.c:5739 [inline] __x64_sys_bpf+0x43/0x50 kernel/bpf/syscall.c:5739 x64_sys_call+0x2625/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:322 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f write to 0xffff888237d1cce8 of 8 bytes by task 56 on cpu 0: __mod_timer+0x578/0x7f0 kernel/time/timer.c:1173 add_timer_global+0x51/0x70 kernel/time/timer.c:1330 __queue_delayed_work+0x127/0x1a0 kernel/workqueue.c:2523 queue_delayed_work_on+0xdf/0x190 kernel/workqueue.c:2552 queue_delayed_work include/linux/workqueue.h:677 [inline] schedule_delayed_monitor_work kernel/rcu/tree.c:3525 [inline] kfree_rcu_monitor+0x5e8/0x660 kernel/rcu/tree.c:3643 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0x483/0x9a0 kernel/workqueue.c:3310 worker_thread+0x51d/0x6f0 kernel/workqueue.c:3391 kthread+0x1d1/0x210 kernel/kthread.c:389 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 56 Comm: kworker/u8:4 Not tainted 6.12.0-rc2-syzkaller-00050-g5b7c893ed5ed #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: events_unbound kfree_rcu_monitor <snip> kfree_rcu_monitor() rearms the work if a "krcp" has to be still offloaded and this is done without holding krcp->lock, whereas the kvfree_call_rcu() holds it. Fix it by acquiring the "krcp->lock" for kfree_rcu_monitor() so both functions do not race anymore.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于__mod_timer与kvfree_call_rcu之间的数据竞争问题。
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

VendorProductAffected VersionsCPESubscribe
LinuxLinux 8fc5494ad5face62747a3937db66b00db1e5d80b ~ 967a0e61910825d1fad009d836a6cb41f7402395 -
LinuxLinux 6.3 -

II. Public POCs for CVE-2024-53160

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-53160

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-12-24 · 20 CVEs total

CVE-2024-53152PCI: tegra194: Move controller cleanups to pex_ep_event_pex_rst_deassert()
CVE-2024-53163crypto: qat/qat_420xx - fix off by one in uof_get_name()
CVE-2024-53162crypto: qat/qat_4xxx - fix off by one in uof_get_name()
CVE-2024-53161EDAC/bluefield: Fix potential integer overflow
CVE-2024-53158soc: qcom: geni-se: fix array underflow in geni_se_clk_tbl_get()
CVE-2024-53157firmware: arm_scpi: Check the DVFS OPP count returned by the firmware
CVE-2024-53156wifi: ath9k: add range check for conn_rsp_epid in htc_connect_service()
CVE-2024-53155ocfs2: fix uninitialized value in ocfs2_file_read_iter()
CVE-2024-53154clk: clk-apple-nco: Add NULL check in applnco_probe
CVE-2024-53153PCI: qcom-ep: Move controller cleanups to qcom_pcie_perst_deassert()
CVE-2024-53240xen/netfront: fix crash when removing device
CVE-2024-53151svcrdma: Address an integer overflow
CVE-2024-53150ALSA: usb-audio: Fix out of bounds reads when finding clock sources
CVE-2024-53149usb: typec: ucsi: glink: fix off-by-one in connector_status
CVE-2024-53148comedi: Flush partial mappings in error case
CVE-2024-53147exfat: fix out-of-bounds access of directory entries
CVE-2024-53146NFSD: Prevent a potential integer overflow
CVE-2024-53145um: Fix potential integer overflow during physmem setup
CVE-2024-53241x86/xen: don't do PV iret hypercall through hypercall page

IV. Related Vulnerabilities

V. Comments for CVE-2024-53160

No comments yet


Leave a comment