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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-57885— mm/kmemleak: fix sleeping function called from invalid context at print message

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存在安全漏洞,该漏洞源于mm/kmemleak组件存在从无效环境调用睡眠函数问题。

AI Predicted 5.3 Difficulty: Trivial EPSS 0.20% · P10

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 3a6f33d86baa8103c80f62edd9393e9f7bf25d72< 86d946f3f9992aaa12abcfd09f925446c2cd42a2 affected
3a6f33d86baa8103c80f62edd9393e9f7bf25d72< 64b2d32f22597b2a1dc83ac600b2426588851a97 affected
3a6f33d86baa8103c80f62edd9393e9f7bf25d72< cddc76b165161a02ff14c4d84d0f5266d9d32b9e affected
6.2 affected
< 6.2 unaffected
6.6.70≤ 6.6.* unaffected
6.12.9≤ 6.12.* unaffected
6.13≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-57885

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
mm/kmemleak: fix sleeping function called from invalid context at print message
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: mm/kmemleak: fix sleeping function called from invalid context at print message Address a bug in the kernel that triggers a "sleeping function called from invalid context" warning when /sys/kernel/debug/kmemleak is printed under specific conditions: - CONFIG_PREEMPT_RT=y - Set SELinux as the LSM for the system - Set kptr_restrict to 1 - kmemleak buffer contains at least one item BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 136, name: cat preempt_count: 1, expected: 0 RCU nest depth: 2, expected: 2 6 locks held by cat/136: #0: ffff32e64bcbf950 (&p->lock){+.+.}-{3:3}, at: seq_read_iter+0xb8/0xe30 #1: ffffafe6aaa9dea0 (scan_mutex){+.+.}-{3:3}, at: kmemleak_seq_start+0x34/0x128 #3: ffff32e6546b1cd0 (&object->lock){....}-{2:2}, at: kmemleak_seq_show+0x3c/0x1e0 #4: ffffafe6aa8d8560 (rcu_read_lock){....}-{1:2}, at: has_ns_capability_noaudit+0x8/0x1b0 #5: ffffafe6aabbc0f8 (notif_lock){+.+.}-{2:2}, at: avc_compute_av+0xc4/0x3d0 irq event stamp: 136660 hardirqs last enabled at (136659): [<ffffafe6a80fd7a0>] _raw_spin_unlock_irqrestore+0xa8/0xd8 hardirqs last disabled at (136660): [<ffffafe6a80fd85c>] _raw_spin_lock_irqsave+0x8c/0xb0 softirqs last enabled at (0): [<ffffafe6a5d50b28>] copy_process+0x11d8/0x3df8 softirqs last disabled at (0): [<0000000000000000>] 0x0 Preemption disabled at: [<ffffafe6a6598a4c>] kmemleak_seq_show+0x3c/0x1e0 CPU: 1 UID: 0 PID: 136 Comm: cat Tainted: G E 6.11.0-rt7+ #34 Tainted: [E]=UNSIGNED_MODULE Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace+0xa0/0x128 show_stack+0x1c/0x30 dump_stack_lvl+0xe8/0x198 dump_stack+0x18/0x20 rt_spin_lock+0x8c/0x1a8 avc_perm_nonode+0xa0/0x150 cred_has_capability.isra.0+0x118/0x218 selinux_capable+0x50/0x80 security_capable+0x7c/0xd0 has_ns_capability_noaudit+0x94/0x1b0 has_capability_noaudit+0x20/0x30 restricted_pointer+0x21c/0x4b0 pointer+0x298/0x760 vsnprintf+0x330/0xf70 seq_printf+0x178/0x218 print_unreferenced+0x1a4/0x2d0 kmemleak_seq_show+0xd0/0x1e0 seq_read_iter+0x354/0xe30 seq_read+0x250/0x378 full_proxy_read+0xd8/0x148 vfs_read+0x190/0x918 ksys_read+0xf0/0x1e0 __arm64_sys_read+0x70/0xa8 invoke_syscall.constprop.0+0xd4/0x1d8 el0_svc+0x50/0x158 el0t_64_sync+0x17c/0x180 %pS and %pK, in the same back trace line, are redundant, and %pS can void %pK service in certain contexts. %pS alone already provides the necessary information, and if it cannot resolve the symbol, it falls back to printing the raw address voiding the original intent behind the %pK. Additionally, %pK requires a privilege check CAP_SYSLOG enforced through the LSM, which can trigger a "sleeping function called from invalid context" warning under RT_PREEMPT kernels when the check occurs in an atomic context. This issue may also affect other LSMs. This change avoids the unnecessary privilege check and resolves the sleeping function warning without any loss of information.
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存在安全漏洞,该漏洞源于mm/kmemleak组件存在从无效环境调用睡眠函数问题。
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 3a6f33d86baa8103c80f62edd9393e9f7bf25d72 ~ 86d946f3f9992aaa12abcfd09f925446c2cd42a2 -
Linux Linux 6.2 -

II. Public POCs for CVE-2024-57885

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

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

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

Same Patch Batch · Linux · 2025-01-15 · 32 CVEs total

CVE-2024-57882 9.8 CRITICAL mptcp: fix TCP options overflow.
CVE-2024-36476 9.8 CRITICAL RDMA/rtrs: Ensure 'ib_sge list' is accessible
CVE-2024-57802 9.4 CRITICAL netrom: check buffer length before accessing it
CVE-2025-21629 8.2 HIGH net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets
CVE-2024-57883 7.8 HIGH mm: hugetlb: independent PMD page table shared count
CVE-2024-57857 7.8 HIGH RDMA/siw: Remove direct link to net_device
CVE-2024-57801 7.8 HIGH net/mlx5e: Skip restore TC rules for vport rep without loaded flag
CVE-2024-57795 7.8 HIGH RDMA/rxe: Remove the direct link to net_device
CVE-2024-39282 7.8 HIGH net: wwan: t7xx: Fix FSM command timeout issue
CVE-2024-57896 7.8 HIGH btrfs: flush delalloc workers queue before stopping cleaner kthread during unmount
CVE-2024-57893 7.8 HIGH ALSA: seq: oss: Fix races at processing SysEx messages
CVE-2024-57887 7.8 HIGH drm: adv7511: Fix use-after-free in adv7533_attach_dsi()
CVE-2024-57899 7.6 HIGH wifi: mac80211: fix mbss changed flags corruption on 32 bit systems
CVE-2024-57902 7.3 HIGH af_packet: fix vlan_get_tci() vs MSG_PEEK
CVE-2024-57901 7.3 HIGH af_packet: fix vlan_get_protocol_dgram() vs MSG_PEEK
CVE-2024-57895 7.1 HIGH ksmbd: set ATTR_CTIME flags when setting mtime
CVE-2024-57884 mm: vmscan: account for free pages to prevent infinite Loop in throttle_direct_reclaim()
CVE-2024-57844 drm/xe: Fix fault on fd close after unbind
CVE-2024-57841 net: fix memory leak in tcp_conn_request()
CVE-2024-57886 mm/damon/core: fix new damon_target objects leaks on damon_commit_targets()

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

IV. Related Vulnerabilities

V. Comments for CVE-2024-57885

No comments yet


Leave a comment