Cloudanix VulnDB

CVE-2026-43467

Medium · 5.5

CVSS

5.5

EPSS

0.2%

Published

May 8, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in certain Linux network drivers can let someone with local administrative access crash a server when changing advanced network adapter settings.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Denial of service
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

This flaw is a local denial-of-service vulnerability in the Linux kernel Mellanox/NVIDIA mlx5 network driver path used when changing an mlx5 device into switchdev mode. On devices that do not support IPsec, the driver incorrectly attempts to clean up IPsec-related resources during the mode transition. That invalid cleanup path can dereference invalid or uninitialized state, causing a kernel warning/page fault and potentially a kernel crash or system instability. The issue requires local privileges sufficient to invoke the relevant devlink/eswitch configuration path and does not provide confidentiality or integrity impact based on the available information.

Why it matters to the business

Systems using mlx5-based network adapters may crash or become unstable during network mode changes, potentially interrupting host networking, container or virtualization networking, storage-over-network traffic, or workloads dependent on RDMA/SmartNIC features. Because exploitation requires local privileged access and there is no known public exploitation or KEV listing, broad internet-facing risk is low; however, the operational impact can be high on hosts where mlx5 switchdev mode is used for SR-IOV, offload, Kubernetes networking, NFV, or high-performance networking.

How an attack unfolds

An attacker who already has local access with privileges to manage network device configuration can identify a host with an affected Linux kernel and an mlx5 device that lacks IPsec support. The attacker then uses devlink or equivalent netlink operations to move the device into switchdev mode. During the transition, the mlx5 driver enters the eswitch offload setup path and attempts to disable or clean up IPsec event resources even though those resources are not supported or initialized. This triggers a fault in the kernel, leading to a warning, page fault, driver failure, or system crash. The practical result is denial of service rather than code execution.

How to fix it

Apply a Linux kernel update that includes the mlx5 fix for checking IPsec capability before attempting to clean up IPsec resources during switchdev transition. If vendor fixed package versions are not yet available, track the relevant distribution kernel advisories for this issue and update to the first kernel build containing the upstream mlx5 correction. As interim mitigations, restrict local administrative access, limit CAP_NET_ADMIN and devlink access to trusted operators only, avoid switching affected mlx5 devices into switchdev mode on devices without IPsec support, and schedule any required switchdev transitions during maintenance windows. Where feasible, disable or unload unused mlx5 functionality on systems that do not require it, recognizing that this may disrupt networking or RDMA features.

How to confirm the fix worked

Confirm that the running kernel includes the vendor or upstream fix for the mlx5 switchdev/IPsec cleanup path. Validate package remediation through the operating system package manager and by confirming the active booted kernel is the updated kernel, not merely installed. On systems using mlx5 hardware, verify that changing eswitch mode no longer produces kernel warnings, page faults, or mlx5_core stack traces. Review dmesg, journald, and kernel logs after testing for absence of faults involving mlx5e_ipsec_disable_events, mlx5e_nic_disable, mlx5_devlink_eswitch_mode_set, or devlink_nl_eswitch_set_doit. Also verify that access to devlink and CAP_NET_ADMIN is limited to intended administrators or service accounts.

Typical attack path

  1. Gain local access to a Linux system running an affected kernel with the mlx5 driver loaded.
  2. Obtain privileges capable of changing devlink/eswitch settings, typically root or CAP_NET_ADMIN-equivalent permissions.
  3. Confirm the presence of an mlx5 device and that the device does not support IPsec offload.
  4. Invoke a devlink operation to move the mlx5 device into switchdev mode.
  5. Trigger the vulnerable cleanup path in the mlx5 driver during the mode transition.
  6. Cause a kernel fault, warning, driver instability, or host crash, resulting in denial of service.

How to detect it

To determine whether this was already triggered, review kernel and system logs for crashes or warnings involving mlx5, devlink, eswitch, switchdev, and IPsec cleanup paths. Relevant sources include dmesg, /var/log/kern.log, /var/log/messages, /var/log/syslog, systemd-journald kernel logs, crash dump tooling such as kdump/vmcore, and EDR telemetry for privileged devlink executions. Correlate any kernel fault with nearby commands or audit events showing use of devlink to set eswitch mode, especially transitions to switchdev. Look for stack traces containing mlx5e_ipsec_disable_events, mlx5e_nic_disable, mlx5e_detach_netdev, mlx5e_netdev_change_profile, mlx5_devlink_eswitch_mode_set, devlink_nl_eswitch_set_doit, or page faults in _raw_spin_lock_irqsave/complete_all. Also review Linux audit logs for executions of the devlink binary or netlink operations by unexpected users, administrators, automation, or privileged containers. A single occurrence may indicate accidental operational triggering; repeated or suspiciously timed occurrences may indicate intentional denial-of-service activity.

  • mlx5e_ipsec_disable_events
  • mlx5e_nic_disable
  • mlx5e_detach_netdev
  • mlx5e_netdev_change_profile
  • mlx5e_vport_rep_load
  • mlx5_devlink_eswitch_mode_set
  • devlink_nl_eswitch_set_doit
  • esw_offloads_enable
  • mlx5_eswitch_enable_locked
  • mlx5_esw_offloads_rep_load
  • __esw_offloads_load_rep
  • _raw_spin_lock_irqsave+0x10/0x30
  • complete_all+0x20/0x90
  • do_user_addr_fault+0x18a/0x680
  • asm_exc_page_fault+0x22/0x30
  • Comm: devlink
  • Modules linked in:
  • mlx5_core
  • mlx5_ib
  • mlx5_fwctl
  • devlink
  • switchdev
  • eswitch
  • devlink dev eswitch set
  • mode switchdev

What your security team should do

  • Inventory Linux hosts with mlx5_core loaded or Mellanox/NVIDIA ConnectX/mlx5-class devices, prioritizing virtualization, Kubernetes, NFV, RDMA, and SmartNIC-enabled systems.
  • Patch affected hosts to a kernel version containing the mlx5 fix as soon as vendor packages are available, prioritizing systems where switchdev mode is used or can be changed by local operators.
  • Restrict root, sudo, CAP_NET_ADMIN, and container privileges that allow devlink or network device mode changes.
  • Monitor kernel logs for mlx5_core crashes or stack traces after devlink eswitch mode changes.
  • Avoid nonessential switchdev mode transitions on potentially affected devices until patched.
  • Ensure rollback and out-of-band management procedures are available for high-availability hosts before network driver or kernel maintenance.
  • Because EPSS is very low and there is no KEV or known exploit maturity, prioritize based on exposure to local privileged users and operational criticality rather than internet-facing exploitability.

The record

In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Fix crash when moving to switchdev mode When moving to switchdev mode when the device doesn't support IPsec, we try to clean up the IPsec resources anyway which causes the crash below, fix that by correctly checking for IPsec support before trying to clean up its resources. [27642.515799] WARNING: arch/x86/mm/fault.c:1276 at do_user_addr_fault+0x18a/0x680, CPU#4: devlink/6490 [27642.517159] Modules linked in: xt_conntrack xt_MASQUERADE ip6table_nat ip6table_filter ip6_tables iptable_nat nf_nat xt_addrtype rpcsec_gss_krb5 auth_rpcgss oid_registry overlay mlx5_fwctl nfnetlink zram zsmalloc mlx5_ib fuse rpcrdma rdma_ucm ib_uverbs ib_iser libiscsi scsi_transport_iscsi ib_umad rdma_cm ib_ipoib iw_cm ib_cm mlx5_core ib_core [27642.521358] CPU: 4 UID: 0 PID: 6490 Comm: devlink Not tainted 6.19.0-rc5_for_upstream_min_debug_2026_01_14_16_47 #1 NONE [27642.522923] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [27642.524528] RIP: 0010:do_user_addr_fault+0x18a/0x680 [27642.525362] Code: ff 0f 84 75 03 00 00 48 89 ee 4c 89 e7 e8 5e b9 22 00 49 89 c0 48 85 c0 0f 84 a8 02 00 00 f7 c3 60 80 00 00 74 22 31 c9 eb ae <0f> 0b 48 83 c4 10 48 89 ea 48 89 de 4c 89 f7 5b 5d 41 5c 41 5d 41 [27642.528166] RSP: 0018:ffff88810770f6b8 EFLAGS: 00010046 [27642.529038] RAX: 0000000000000000 RBX: 0000000000000002 RCX: ffff88810b980f00 [27642.530158] RDX: 00000000000000a0 RSI: 0000000000000002 RDI: ffff88810770f728 [27642.531270] RBP: 00000000000000a0 R08: 0000000000000000 R09: 0000000000000000 [27642.532383] R10: 0000000000000000 R11: 0000000000000000 R12: ffff888103f3c4c0 [27642.533499] R13: 0000000000000000 R14: ffff88810770f728 R15: 0000000000000000 [27642.534614] FS: 00007f197c741740(0000) GS:ffff88856a94c000(0000) knlGS:0000000000000000 [27642.535915] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [27642.536858] CR2: 00000000000000a0 CR3: 000000011334c003 CR4: 0000000000172eb0 [27642.537982] Call Trace: [27642.538466] <TASK> [27642.538907] exc_page_fault+0x76/0x140 [27642.539583] asm_exc_page_fault+0x22/0x30 [27642.540282] RIP: 0010:_raw_spin_lock_irqsave+0x10/0x30 [27642.541134] Code: 07 85 c0 75 11 ba ff 00 00 00 f0 0f b1 17 75 06 b8 01 00 00 00 c3 31 c0 c3 90 0f 1f 44 00 00 53 9c 5b fa 31 c0 ba 01 00 00 00 <f0> 0f b1 17 75 05 48 89 d8 5b c3 89 c6 e8 7e 02 00 00 48 89 d8 5b [27642.543936] RSP: 0018:ffff88810770f7d8 EFLAGS: 00010046 [27642.544803] RAX: 0000000000000000 RBX: 0000000000000202 RCX: ffff888113ad96d8 [27642.545916] RDX: 0000000000000001 RSI: ffff88810770f818 RDI: 00000000000000a0 [27642.547027] RBP: 0000000000000098 R08: 0000000000000400 R09: ffff88810b980f00 [27642.548140] R10: 0000000000000001 R11: ffff888101845a80 R12: 00000000000000a8 [27642.549263] R13: ffffffffa02a9060 R14: 00000000000000a0 R15: ffff8881130d8a40 [27642.550379] complete_all+0x20/0x90 [27642.551010] mlx5e_ipsec_disable_events+0xb6/0xf0 [mlx5_core] [27642.552022] mlx5e_nic_disable+0x12d/0x220 [mlx5_core] [27642.552929] mlx5e_detach_netdev+0x66/0xf0 [mlx5_core] [27642.553822] mlx5e_netdev_change_profile+0x5b/0x120 [mlx5_core] [27642.554821] mlx5e_vport_rep_load+0x419/0x590 [mlx5_core] [27642.555757] ? xa_load+0x53/0x90 [27642.556361] __esw_offloads_load_rep+0x54/0x70 [mlx5_core] [27642.557328] mlx5_esw_offloads_rep_load+0x45/0xd0 [mlx5_core] [27642.558320] esw_offloads_enable+0xb4b/0xc90 [mlx5_core] [27642.559247] mlx5_eswitch_enable_locked+0x34e/0x4f0 [mlx5_core] [27642.560257] ? mlx5_rescan_drivers_locked+0x222/0x2d0 [mlx5_core] [27642.561284] mlx5_devlink_eswitch_mode_set+0x5ac/0x9c0 [mlx5_core] [27642.562334] ? devlink_rate_set_ops_supported+0x21/0x3a0 [27642.563220] devlink_nl_eswitch_set_doit+0x67/0xe0 [27642.564026] genl_family_rcv_msg_doit+0xe0/0x130 [27642.564816] genl_rcv_msg+0x183/0x290 [27642.565466] ? __devlink_nl_pre_doit.isra.0+0x160/0x160 [27642.566329] ? d ---truncated---

Affected packages

Ecosystem Package Introduced Fixed