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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-38557— net/mlx5: Reload only IB representors upon lag disable/enable

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存在安全漏洞,该漏洞源于net/mlx5 中存在安全问题。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.18% · P7

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 10

VendorProduct Version RangeStatus
Linux Linux 598fe77df855feeeca9dfda2ffe622ac7724e5c3< e93fc8d959e56092e2eca1e5511c2d2f0ad6807a affected
598fe77df855feeeca9dfda2ffe622ac7724e5c3< f03c714a0fdd1f93101a929d0e727c28a66383fc affected
598fe77df855feeeca9dfda2ffe622ac7724e5c3< 0f320f28f54b1b269a755be2e3fb3695e0b80b07 affected
598fe77df855feeeca9dfda2ffe622ac7724e5c3< 0f06228d4a2dcc1fca5b3ddb0eefa09c05b102c4 affected
5.15 affected
< 5.15 unaffected
6.6.33≤ 6.6.* unaffected
6.8.12≤ 6.8.* unaffected
… +2 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-38557

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
net/mlx5: Reload only IB representors upon lag disable/enable
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Reload only IB representors upon lag disable/enable On lag disable, the bond IB device along with all of its representors are destroyed, and then the slaves' representors get reloaded. In case the slave IB representor load fails, the eswitch error flow unloads all representors, including ethernet representors, where the netdevs get detached and removed from lag bond. Such flow is inaccurate as the lag driver is not responsible for loading/unloading ethernet representors. Furthermore, the flow described above begins by holding lag lock to prevent bond changes during disable flow. However, when reaching the ethernet representors detachment from lag, the lag lock is required again, triggering the following deadlock: Call trace: __switch_to+0xf4/0x148 __schedule+0x2c8/0x7d0 schedule+0x50/0xe0 schedule_preempt_disabled+0x18/0x28 __mutex_lock.isra.13+0x2b8/0x570 __mutex_lock_slowpath+0x1c/0x28 mutex_lock+0x4c/0x68 mlx5_lag_remove_netdev+0x3c/0x1a0 [mlx5_core] mlx5e_uplink_rep_disable+0x70/0xa0 [mlx5_core] mlx5e_detach_netdev+0x6c/0xb0 [mlx5_core] mlx5e_netdev_change_profile+0x44/0x138 [mlx5_core] mlx5e_netdev_attach_nic_profile+0x28/0x38 [mlx5_core] mlx5e_vport_rep_unload+0x184/0x1b8 [mlx5_core] mlx5_esw_offloads_rep_load+0xd8/0xe0 [mlx5_core] mlx5_eswitch_reload_reps+0x74/0xd0 [mlx5_core] mlx5_disable_lag+0x130/0x138 [mlx5_core] mlx5_lag_disable_change+0x6c/0x70 [mlx5_core] // hold ldev->lock mlx5_devlink_eswitch_mode_set+0xc0/0x410 [mlx5_core] devlink_nl_cmd_eswitch_set_doit+0xdc/0x180 genl_family_rcv_msg_doit.isra.17+0xe8/0x138 genl_rcv_msg+0xe4/0x220 netlink_rcv_skb+0x44/0x108 genl_rcv+0x40/0x58 netlink_unicast+0x198/0x268 netlink_sendmsg+0x1d4/0x418 sock_sendmsg+0x54/0x60 __sys_sendto+0xf4/0x120 __arm64_sys_sendto+0x30/0x40 el0_svc_common+0x8c/0x120 do_el0_svc+0x30/0xa0 el0_svc+0x20/0x30 el0_sync_handler+0x90/0xb8 el0_sync+0x160/0x180 Thus, upon lag enable/disable, load and unload only the IB representors of the slaves preventing the deadlock mentioned above. While at it, refactor the mlx5_esw_offloads_rep_load() function to have a static helper method for its internal logic, in symmetry with the representor unload design.
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存在安全漏洞,该漏洞源于net/mlx5 中存在安全问题。
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 598fe77df855feeeca9dfda2ffe622ac7724e5c3 ~ e93fc8d959e56092e2eca1e5511c2d2f0ad6807a -
Linux Linux 5.15 -

II. Public POCs for CVE-2024-38557

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

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

Other References for CVE-2024-38557 (4)

Same Patch Batch · Linux · 2024-06-19 · 122 CVEs total

CVE-2024-38558 10.0 CRITICAL net: openvswitch: fix overwriting ct original tuple for ICMPv6
CVE-2021-47587 9.8 CRITICAL net: systemport: Add global locking for descriptor lifecycle
CVE-2024-38570 9.8 CRITICAL gfs2: Fix potential glock use-after-free on unmount
CVE-2024-38544 9.8 CRITICAL RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt
CVE-2021-47611 8.1 HIGH mac80211: validate extended element ID is present
CVE-2024-38587 7.8 HIGH speakup: Fix sizeof() vs ARRAY_SIZE() bug
CVE-2024-38610 7.8 HIGH drivers/virt/acrn: fix PFNMAP PTE checks in acrn_vm_ram_map()
CVE-2024-38605 7.8 HIGH ALSA: core: Fix NULL module pointer assignment at card init
CVE-2024-38599 7.8 HIGH jffs2: prevent xattr node from overflowing the eraseblock
CVE-2024-38564 7.8 HIGH bpf: Add BPF_PROG_TYPE_CGROUP_SKB attach type enforcement in BPF_LINK_CREATE
CVE-2024-38592 7.8 HIGH drm/mediatek: Init `ddp_comp` with devm_kcalloc()
CVE-2024-38588 7.8 HIGH ftrace: Fix possible use-after-free issue in ftrace_location()
CVE-2024-38581 7.8 HIGH drm/amdgpu/mes: fix use-after-free issue
CVE-2024-38578 7.8 HIGH ecryptfs: Fix buffer size for tag 66 packet
CVE-2024-38572 7.8 HIGH wifi: ath12k: fix out-of-bound access of qmi_invoke_handler()
CVE-2024-38580 7.8 HIGH epoll: be better about file lifetimes
CVE-2024-38568 7.8 HIGH drivers/perf: hisi: hns3: Fix out-of-bound access when valid event group
CVE-2024-38583 7.8 HIGH nilfs2: fix use-after-free of timer for log writer thread
CVE-2024-38614 7.8 HIGH openrisc: traps: Don't send signals to kernel mode threads
CVE-2024-38569 7.8 HIGH drivers/perf: hisi_pcie: Fix out-of-bound access when valid event group

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

IV. Related Vulnerabilities

V. Comments for CVE-2024-38557

No comments yet


Leave a comment