CVE-2026-72341
Received Received - Intake

Race Condition in Mellanox mlx5e Kernel Driver

Vulnerability report for CVE-2026-72341, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-15

Last updated on: 2026-08-17

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix publication race for priv->channel_stats[] mlx5e_channel_stats_alloc() publishes a new entry to priv->channel_stats[] and then increments priv->stats_nch as a publication token, but neither store carries any memory barrier: priv->channel_stats[ix] = kvzalloc_node(...); if (!priv->channel_stats[ix]) return -ENOMEM; priv->stats_nch++; Concurrent readers compute the loop bound from priv->stats_nch and then dereference priv->channel_stats[i] using plain accesses, e.g. for (i = 0; i < priv->stats_nch; i++) { struct mlx5e_channel_stats *cs = priv->channel_stats[i]; ... cs->rq.packets ... } On weakly-ordered architectures (ARM, PowerPC, RISC-V) the writes to channel_stats[ix] and stats_nch may become visible to other CPUs out of program order. A reader can observe stats_nch == N while still seeing channel_stats[N-1] == NULL, leading to a NULL pointer dereference in the channel_stats loop. This has been observed in production on BlueField-3 DPUs (arm64), where ovs-vswitchd queries netdev statistics over netlink during NIC bringup, racing mlx5e_open_channel() -> mlx5e_channel_stats_alloc() on another CPU: Unable to handle kernel NULL pointer dereference at virtual address 0x840 Hardware name: BlueField-3 DPU pc : mlx5e_fold_sw_stats64+0x30/0x180 [mlx5_core] Call trace: mlx5e_fold_sw_stats64+0x30/0x180 [mlx5_core] dev_get_stats+0x50/0xc0 ovs_vport_get_stats+0x38/0xac [openvswitch] ovs_vport_cmd_fill_info+0x194/0x290 [openvswitch] ovs_vport_cmd_get+0xbc/0x10c [openvswitch] genl_family_rcv_msg_doit+0xd0/0x160 genl_rcv_msg+0xec/0x1f0 netlink_rcv_skb+0x64/0x130 genl_rcv+0x40/0x60 netlink_unicast+0x2fc/0x370 netlink_sendmsg+0x1dc/0x454 ... __arm64_sys_sendmsg+0x2c/0x40 Add mlx5e_stats_nch_write() and mlx5e_stats_nch_read() helpers in en.h that wrap the smp_store_release()/smp_load_acquire() pair on stats_nch. The release/acquire pair establishes the contract: stats_nch == N => channel_stats[0..N-1] are visible and non-NULL. Publish the stats_nch increment via mlx5e_stats_nch_write() in the writer (mlx5e_channel_stats_alloc()), and read stats_nch via mlx5e_stats_nch_read() in all readers: mlx5e RX/TX queue stats, mlx5e_get_base_stats(), ethtool channels stats, IPoIB stats, the sw_stats fold and the HV VHCA stats agent.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-15
Last Modified
2026-08-17
Generated
2026-09-04
AI Q&A
2026-08-15
EPSS Evaluated
2026-09-03
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
mlx5 mlx5_core *
mlx mlx5e *
openvswitch openvswitch *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a race condition in the Linux kernel's mlx5e driver affecting network statistics handling. A writer thread allocates and publishes channel statistics but lacks memory barriers when updating shared counters. On weakly-ordered CPUs (ARM, PowerPC, RISC-V), readers may see the counter increment before the corresponding statistics pointer is visible, causing NULL pointer dereferences when accessing channel_stats during NIC operations.

Detection Guidance

This vulnerability is specific to the Linux kernel's mlx5e driver and may cause kernel crashes due to NULL pointer dereference. Detection requires checking kernel logs for crashes or errors related to mlx5_core or mlx5e modules. Monitor system logs for NULL pointer dereference errors in the kernel.

Impact Analysis

This could cause kernel crashes (NULL pointer dereference) when network statistics are queried during NIC initialization or operation. Systems using affected Mellanox NICs (BlueField-3 DPUs) may experience sudden failures when tools like ovs-vswitchd attempt to read statistics while the driver initializes channels.

Compliance Impact

This vulnerability does not directly affect compliance with GDPR, HIPAA, or similar standards as it pertains to a Linux kernel memory management issue in the mlx5e driver. Compliance risks would arise only if the vulnerability led to data breaches or unauthorized access, which is not described in the provided context.

Mitigation Strategies

Apply the kernel patch that introduces memory barriers via mlx5e_stats_nch_write() and mlx5e_stats_nch_read() helpers. Update to a kernel version containing the fix. If immediate patching is not possible, consider disabling the affected driver or isolating systems using mlx5e.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-72341. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart