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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-50146— net/mlx5e: Don't call cleanup on profile rollback failure

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存在安全漏洞,该漏洞源于在mlx5e_netdev_change_profile函数中,在配置文件回滚失败时调用cleanup。

AI Predicted 4.4 Difficulty: Moderate EPSS 0.23% · P13

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 10

VendorProduct Version RangeStatus
Linux Linux 3ef14e463f6ed0218710f56b97e1a7d0448784d2< db84cb4c8c565e6d4de84b23c2818b63991adfdd affected
3ef14e463f6ed0218710f56b97e1a7d0448784d2< d6fe973c8873c998734a050f366b28facc03d32a affected
3ef14e463f6ed0218710f56b97e1a7d0448784d2< 3955b77494c3c7d14873b1db67e7e00c46a714db affected
3ef14e463f6ed0218710f56b97e1a7d0448784d2< 4dbc1d1a9f39c3711ad2a40addca04d07d9ab5d0 affected
5.12 affected
< 5.12 unaffected
6.1.123≤ 6.1.* unaffected
6.6.80≤ 6.6.* unaffected
… +2 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-50146

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/mlx5e: Don't call cleanup on profile rollback failure
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Don't call cleanup on profile rollback failure When profile rollback fails in mlx5e_netdev_change_profile, the netdev profile var is left set to NULL. Avoid a crash when unloading the driver by not calling profile->cleanup in such a case. This was encountered while testing, with the original trigger that the wq rescuer thread creation got interrupted (presumably due to Ctrl+C-ing modprobe), which gets converted to ENOMEM (-12) by mlx5e_priv_init, the profile rollback also fails for the same reason (signal still active) so the profile is left as NULL, leading to a crash later in _mlx5e_remove. [ 732.473932] mlx5_core 0000:08:00.1: E-Switch: Unload vfs: mode(OFFLOADS), nvfs(2), necvfs(0), active vports(2) [ 734.525513] workqueue: Failed to create a rescuer kthread for wq "mlx5e": -EINTR [ 734.557372] mlx5_core 0000:08:00.1: mlx5e_netdev_init_profile:6235:(pid 6086): mlx5e_priv_init failed, err=-12 [ 734.559187] mlx5_core 0000:08:00.1 eth3: mlx5e_netdev_change_profile: new profile init failed, -12 [ 734.560153] workqueue: Failed to create a rescuer kthread for wq "mlx5e": -EINTR [ 734.589378] mlx5_core 0000:08:00.1: mlx5e_netdev_init_profile:6235:(pid 6086): mlx5e_priv_init failed, err=-12 [ 734.591136] mlx5_core 0000:08:00.1 eth3: mlx5e_netdev_change_profile: failed to rollback to orig profile, -12 [ 745.537492] BUG: kernel NULL pointer dereference, address: 0000000000000008 [ 745.538222] #PF: supervisor read access in kernel mode <snipped> [ 745.551290] Call Trace: [ 745.551590] <TASK> [ 745.551866] ? __die+0x20/0x60 [ 745.552218] ? page_fault_oops+0x150/0x400 [ 745.555307] ? exc_page_fault+0x79/0x240 [ 745.555729] ? asm_exc_page_fault+0x22/0x30 [ 745.556166] ? mlx5e_remove+0x6b/0xb0 [mlx5_core] [ 745.556698] auxiliary_bus_remove+0x18/0x30 [ 745.557134] device_release_driver_internal+0x1df/0x240 [ 745.557654] bus_remove_device+0xd7/0x140 [ 745.558075] device_del+0x15b/0x3c0 [ 745.558456] mlx5_rescan_drivers_locked.part.0+0xb1/0x2f0 [mlx5_core] [ 745.559112] mlx5_unregister_device+0x34/0x50 [mlx5_core] [ 745.559686] mlx5_uninit_one+0x46/0xf0 [mlx5_core] [ 745.560203] remove_one+0x4e/0xd0 [mlx5_core] [ 745.560694] pci_device_remove+0x39/0xa0 [ 745.561112] device_release_driver_internal+0x1df/0x240 [ 745.561631] driver_detach+0x47/0x90 [ 745.562022] bus_remove_driver+0x84/0x100 [ 745.562444] pci_unregister_driver+0x3b/0x90 [ 745.562890] mlx5_cleanup+0xc/0x1b [mlx5_core] [ 745.563415] __x64_sys_delete_module+0x14d/0x2f0 [ 745.563886] ? kmem_cache_free+0x1b0/0x460 [ 745.564313] ? lockdep_hardirqs_on_prepare+0xe2/0x190 [ 745.564825] do_syscall_64+0x6d/0x140 [ 745.565223] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 745.565725] RIP: 0033:0x7f1579b1288b
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存在安全漏洞,该漏洞源于在mlx5e_netdev_change_profile函数中,在配置文件回滚失败时调用cleanup。
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 3ef14e463f6ed0218710f56b97e1a7d0448784d2 ~ db84cb4c8c565e6d4de84b23c2818b63991adfdd -
Linux Linux 5.12 -

II. Public POCs for CVE-2024-50146

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

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

Patches & Fixes for CVE-2024-50146 (4)

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-50164 7.8 HIGH bpf: Fix overloading of MEM_UNINIT's meaning
CVE-2024-50158 7.8 HIGH RDMA/bnxt_re: Fix out of bound check
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-50145 7.5 HIGH octeon_ep: Add SKB allocation failures handling in __octep_oq_process_rx()
CVE-2024-50170 7.5 HIGH net: bcmasp: fix potential memory leak in bcmasp_xmit()
CVE-2024-50159 7.0 HIGH firmware: arm_scmi: Fix the double free in scmi_debugfs_common_setup()
CVE-2024-50156 drm/msm: Avoid NULL dereference in msm_disp_state_print_regs()
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-50146

No comments yet


Leave a comment