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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2024-50140— sched/core: Disable page allocation in task_tick_mm_cid()

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存在安全漏洞,该漏洞源于在task_tick_mm_cid函数中允许页面分配。

AI Predicted 3.3 Difficulty: Theoretical EPSS 0.23% · P14

Possible ATT&CK Techniques 1 AI

T1059 · Command and Scripting Interpreter

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 223baf9d17f25e2608dbdff7232c095c1e612268< 509c29d0d26f68a6f6d0a05cb1a89725237e2b87 affected
223baf9d17f25e2608dbdff7232c095c1e612268< ce0241ef83eed55f675376e8a3605d23de53d875 affected
223baf9d17f25e2608dbdff7232c095c1e612268< 73ab05aa46b02d96509cb029a8d04fca7bbde8c7 affected
6.4 affected
< 6.4 unaffected
6.6.59≤ 6.6.* unaffected
6.11.6≤ 6.11.* unaffected
6.12≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-50140

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
sched/core: Disable page allocation in task_tick_mm_cid()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: sched/core: Disable page allocation in task_tick_mm_cid() With KASAN and PREEMPT_RT enabled, calling task_work_add() in task_tick_mm_cid() may cause the following splat. [ 63.696416] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 [ 63.696416] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 610, name: modprobe [ 63.696416] preempt_count: 10001, expected: 0 [ 63.696416] RCU nest depth: 1, expected: 1 This problem is caused by the following call trace. sched_tick() [ acquire rq->__lock ] -> task_tick_mm_cid() -> task_work_add() -> __kasan_record_aux_stack() -> kasan_save_stack() -> stack_depot_save_flags() -> alloc_pages_mpol_noprof() -> __alloc_pages_noprof() -> get_page_from_freelist() -> rmqueue() -> rmqueue_pcplist() -> __rmqueue_pcplist() -> rmqueue_bulk() -> rt_spin_lock() The rq lock is a raw_spinlock_t. We can't sleep while holding it. IOW, we can't call alloc_pages() in stack_depot_save_flags(). The task_tick_mm_cid() function with its task_work_add() call was introduced by commit 223baf9d17f2 ("sched: Fix performance regression introduced by mm_cid") in v6.4 kernel. Fortunately, there is a kasan_record_aux_stack_noalloc() variant that calls stack_depot_save_flags() while not allowing it to allocate new pages. To allow task_tick_mm_cid() to use task_work without page allocation, a new TWAF_NO_ALLOC flag is added to enable calling kasan_record_aux_stack_noalloc() instead of kasan_record_aux_stack() if set. The task_tick_mm_cid() function is modified to add this new flag. The possible downside is the missing stack trace in a KASAN report due to new page allocation required when task_work_add_noallloc() is called which should be rare.
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存在安全漏洞,该漏洞源于在task_tick_mm_cid函数中允许页面分配。
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 223baf9d17f25e2608dbdff7232c095c1e612268 ~ 509c29d0d26f68a6f6d0a05cb1a89725237e2b87 -
Linux Linux 6.4 -

II. Public POCs for CVE-2024-50140

# 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-50140

登录查看更多情报信息。

Patches & Fixes for CVE-2024-50140 (3)

Same Patch Batch · Linux · 2024-11-07 · 34 CVEs total

CVE-2024-50162 9.8 CRITICAL bpf: devmap: provide rxq after redirect
CVE-2024-50154 9.8 CRITICAL tcp/dccp: Don't use timer_pending() in reqsk_queue_unlink().
CVE-2024-50152 9.8 CRITICAL smb: client: fix possible double free in smb2_set_ea()
CVE-2024-50139 7.9 HIGH KVM: arm64: Fix shift-out-of-bounds bug
CVE-2024-50151 7.8 HIGH smb: client: fix OOBs when building SMB2_IOCTL request
CVE-2024-50161 7.8 HIGH bpf: Check the remaining info_cnt before repeating btf fields
CVE-2024-50158 7.8 HIGH RDMA/bnxt_re: Fix out of bound check
CVE-2024-50164 7.8 HIGH bpf: Fix overloading of MEM_UNINIT's meaning
CVE-2024-50165 7.8 HIGH bpf: Preserve param->string when parsing mount options
CVE-2024-50150 7.8 HIGH usb: typec: altmode should keep reference to parent
CVE-2024-50149 7.8 HIGH drm/xe: Don't free job in TDR
CVE-2024-50143 7.8 HIGH udf: fix uninit-value use in udf_get_fileshortad
CVE-2024-50141 7.8 HIGH ACPI: PRM: Find EFI_MEMORY_RUNTIME block for PRM handler and context
CVE-2024-50170 7.5 HIGH net: bcmasp: fix potential memory leak in bcmasp_xmit()
CVE-2024-50145 7.5 HIGH octeon_ep: Add SKB allocation failures handling in __octep_oq_process_rx()
CVE-2024-50159 7.0 HIGH firmware: arm_scmi: Fix the double free in scmi_debugfs_common_setup()
CVE-2024-50172 RDMA/bnxt_re: Fix a possible memory leak
CVE-2024-50168 net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()
CVE-2024-50167 be2net: fix potential memory leak in be_xmit()
CVE-2024-50169 vsock: Update rx_bytes on read_skb()

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

IV. Related Vulnerabilities

V. Comments for CVE-2024-50140

No comments yet


Leave a comment