UBUNTU-CVE-2026-72341: Null Pointer Dereference

Published Aug 15, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix publication race for priv->channelstats[] mlx5echannelstatsalloc() publishes a new entry to priv->channelstats[] and then increments priv->statsnch as a publication token, but neither store carries any memory barrier: priv->channelstats[ix] = kvzallocnode(...); if (!priv->channelstats[ix]) return -ENOMEM; priv->statsnch++; Concurrent readers compute the loop bound from priv->statsnch and then dereference priv->channelstats[i] using plain accesses, e.g. for (i = 0; i < priv->statsnch; i++) { struct mlx5echannelstats cs = priv->channelstats[i]; ... cs->rq.packets ... } On weakly-ordered architectures (ARM, PowerPC, RISC-V) the writes to channelstats[ix] and statsnch may become visible to other CPUs out of program order. A reader can observe statsnch == N while still seeing channelstats[N-1] == NULL, leading to a NULL pointer dereference in the channelstats loop. This has been observed in production on BlueField-3 DPUs (arm64), where ovs-vswitchd queries netdev statistics over netlink during NIC bringup, racing mlx5eopenchannel() -> mlx5echannelstatsalloc() on another CPU: Unable to handle kernel NULL pointer dereference at virtual address 0x840 Hardware name: BlueField-3 DPU pc : mlx5efoldswstats64+0x30/0x180 [mlx5core] Call trace: mlx5efoldswstats64+0x30/0x180 [mlx5core] devgetstats+0x50/0xc0 ovsvportgetstats+0x38/0xac [openvswitch] ovsvportcmdfillinfo+0x194/0x290 [openvswitch] ovsvportcmdget+0xbc/0x10c [openvswitch] genlfamilyrcvmsgdoit+0xd0/0x160 genlrcvmsg+0xec/0x1f0 netlinkrcvskb+0x64/0x130 genlrcv+0x40/0x60 netlinkunicast+0x2fc/0x370 netlinksendmsg+0x1dc/0x454 ... arm64syssendmsg+0x2c/0x40 Add mlx5estatsnchwrite() and mlx5estatsnchread() helpers in en.h that wrap the smpstorerelease()/smploadacquire() pair on statsnch. The release/acquire pair establishes the contract: statsnch == N => channelstats[0..N-1] are visible and non-NULL. Publish the statsnch increment via mlx5estatsnchwrite() in the writer (mlx5echannelstatsalloc()), and read statsnch via mlx5estatsnchread() in all readers: mlx5e RX/TX queue stats, mlx5egetbasestats(), ethtool channels stats, IPoIB stats, the swstats fold and the HV VHCA stats agent.

Affected Software

163 affected componentsFixes available
ubuntu/linux-hwe-edge*
ubuntu/linux-aws-5.0*
ubuntu/linux-aws-5.3*
ubuntu/linux-azure*
ubuntu/linux-azure-5.3*
ubuntu/linux-azure-edge*
ubuntu/linux-gcp*
ubuntu/linux-gcp-5.3*
ubuntu/linux-gke-4.15*
ubuntu/linux-gke-5.4*
ubuntu/linux-gkeop-5.4*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-oem*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux-aws-5.11*
ubuntu/linux-aws-5.13*
ubuntu/linux-aws-5.8*
ubuntu/linux-azure-5.11*
ubuntu/linux-azure-5.13*
ubuntu/linux-azure-5.8*
ubuntu/linux-azure-fde*
ubuntu/linux-gcp-5.11*
ubuntu/linux-gcp-5.13*
ubuntu/linux-gcp-5.8*
ubuntu/linux-gke*
ubuntu/linux-gke-5.15*
ubuntu/linux-gkeop*
ubuntu/linux-gkeop-5.15*
ubuntu/linux-hwe-5.11*
ubuntu/linux-hwe-5.13*
ubuntu/linux-hwe-5.8*
ubuntu/linux-intel-5.13*
ubuntu/linux-oem-5.10*
ubuntu/linux-oem-5.13*
ubuntu/linux-oem-5.6*
ubuntu/linux-oracle-5.11*
ubuntu/linux-oracle-5.13*
ubuntu/linux-oracle-5.8*
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.11*
ubuntu/linux-riscv-5.8*
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-aws-6.5*
ubuntu/linux-aws-6.8*
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-6.5*
ubuntu/linux-azure-6.8*
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-azure-fde-6.8*
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-gcp-6.5*
ubuntu/linux-gcp-6.8*
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-hwe-6.5*
ubuntu/linux-ibm-6.8*
ubuntu/linux-intel-iot-realtime*
ubuntu/linux-lowlatency-hwe-5.19*
ubuntu/linux-lowlatency-hwe-6.2*
ubuntu/linux-lowlatency-hwe-6.5*
ubuntu/linux-lowlatency-hwe-6.8*
ubuntu/linux-nvidia-6.2*
ubuntu/linux-nvidia-6.5*
ubuntu/linux-nvidia-6.8*
ubuntu/linux-oem-5.17*
ubuntu/linux-oem-6.0*
ubuntu/linux-oem-6.1*
ubuntu/linux-oem-6.5*
ubuntu/linux-oracle-6.5*
ubuntu/linux-oracle-6.8*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.19*
ubuntu/linux-riscv-6.5*
ubuntu/linux-riscv-6.8*
ubuntu/linux-starfive-5.19*
ubuntu/linux-starfive-6.2*
ubuntu/linux-starfive-6.5*
ubuntu/linux-realtime-6.8*
ubuntu/linux*
ubuntu/linux-aws*
ubuntu/linux-aws-6.14*
ubuntu/linux-aws-6.17*
ubuntu/linux-aws-7.0<7.0.0-1014.14~24.04.1
7.0.0-1014.14~24.04.1
ubuntu/linux-azure*
ubuntu/linux-azure-6.11*
ubuntu/linux-azure-6.14*
ubuntu/linux-azure-6.17*
ubuntu/linux-azure-7.0<7.0.0-1017.17~24.04.1
7.0.0-1017.17~24.04.1
ubuntu/linux-azure-fde*
ubuntu/linux-azure-fde-6.14*
ubuntu/linux-azure-fde-6.17*
ubuntu/linux-azure-fde-7.0<7.0.0-1016.16~24.04.1
7.0.0-1016.16~24.04.1
ubuntu/linux-azure-nvidia*
ubuntu/linux-azure-nvidia-6.14*
ubuntu/linux-gcp*
ubuntu/linux-gcp-6.11*
ubuntu/linux-gcp-6.14*
ubuntu/linux-gcp-7.0<7.0.0-1014.14~24.04.1
7.0.0-1014.14~24.04.1
ubuntu/linux-gke*
ubuntu/linux-gkeop*
ubuntu/linux-hwe-6.11*
ubuntu/linux-hwe-6.14*
ubuntu/linux-hwe-6.17*
ubuntu/linux-hwe-7.0<7.0.0-38.38~24.04.4
7.0.0-38.38~24.04.4
ubuntu/linux-ibm*
ubuntu/linux-lowlatency*
ubuntu/linux-lowlatency-hwe-6.11*
ubuntu/linux-nvidia*
ubuntu/linux-nvidia-6.11*
ubuntu/linux-nvidia-6.17*
ubuntu/linux-nvidia-7.0<7.0.0-1024.25~24.04.1
7.0.0-1024.25~24.04.1
ubuntu/linux-nvidia-lowlatency*
ubuntu/linux-nvidia-tegra*
ubuntu/linux-oem-6.11*
ubuntu/linux-oem-6.14*
ubuntu/linux-oem-6.17*
ubuntu/linux-oem-6.8*
ubuntu/linux-oracle*
ubuntu/linux-oracle-6.14*
ubuntu/linux-oracle-6.17*
ubuntu/linux-oracle-7.0<7.0.0-1013.13~24.04.1
7.0.0-1013.13~24.04.1
ubuntu/linux-raspi*
ubuntu/linux-raspi-realtime*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-6.14*
ubuntu/linux-riscv-6.17*
ubuntu/linux-riscv-7.0<7.0.0-38.38.1~24.04.1
7.0.0-38.38.1~24.04.1
ubuntu/linux-vmware*
ubuntu/linux-xilinx*
ubuntu/linux-bluefield*
ubuntu/linux-raspi-realtime*
ubuntu/linux-realtime*
ubuntu/linux-realtime-6.14*
ubuntu/linux-realtime-6.17*
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux<7.0.0-38.38
7.0.0-38.38
ubuntu/linux-aws<7.0.0-1014.14
7.0.0-1014.14
ubuntu/linux-azure<7.0.0-1017.17
7.0.0-1017.17
ubuntu/linux-azure-fde<7.0.0-1016.16
7.0.0-1016.16
ubuntu/linux-gcp<7.0.0-1014.14
7.0.0-1014.14
ubuntu/linux-gke<7.0.0-1008.9
7.0.0-1008.9
ubuntu/linux-ibm<7.0.0-1015.15
7.0.0-1015.15
ubuntu/linux-nvidia*
ubuntu/linux-nvidia-bos<7.0.0-2022.23
7.0.0-2022.23
ubuntu/linux-oem-7.0<7.0.0-1015.15
7.0.0-1015.15
ubuntu/linux-oracle<7.0.0-1013.13
7.0.0-1013.13
ubuntu/linux-raspi*
ubuntu/linux-realtime<7.0.0-38.38.1
7.0.0-38.38.1
ubuntu/linux-riscv<7.0.0-38.38.1
7.0.0-38.38.1
ubuntu/linux-vmware*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade ubuntu/linux-aws-7.0 to a version that resolves this vulnerability.

    Fixed in 7.0.0-1014.14~24.04.1
  2. Upgrade

    Upgrade ubuntu/linux-azure-7.0 to a version that resolves this vulnerability.

    Fixed in 7.0.0-1017.17~24.04.1
  3. Upgrade

    Upgrade ubuntu/linux-azure-fde-7.0 to a version that resolves this vulnerability.

    Fixed in 7.0.0-1016.16~24.04.1
  4. Upgrade

    Upgrade ubuntu/linux-gcp-7.0 to a version that resolves this vulnerability.

    Fixed in 7.0.0-1014.14~24.04.1
  5. Upgrade

    Upgrade ubuntu/linux-hwe-7.0 to a version that resolves this vulnerability.

    Fixed in 7.0.0-38.38~24.04.4
  6. Upgrade

    Upgrade ubuntu/linux-nvidia-7.0 to a version that resolves this vulnerability.

    Fixed in 7.0.0-1024.25~24.04.1
  7. Upgrade

    Upgrade ubuntu/linux-oracle-7.0 to a version that resolves this vulnerability.

    Fixed in 7.0.0-1013.13~24.04.1
  8. Upgrade

    Upgrade ubuntu/linux-riscv-7.0 to a version that resolves this vulnerability.

    Fixed in 7.0.0-38.38.1~24.04.1
  9. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 7.0.0-38.38
  10. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 7.0.0-1014.14
  11. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 7.0.0-1017.17
  12. Upgrade

    Upgrade ubuntu/linux-azure-fde to a version that resolves this vulnerability.

    Fixed in 7.0.0-1016.16
  13. Upgrade

    Upgrade ubuntu/linux-gcp to a version that resolves this vulnerability.

    Fixed in 7.0.0-1014.14
  14. Upgrade

    Upgrade ubuntu/linux-gke to a version that resolves this vulnerability.

    Fixed in 7.0.0-1008.9
  15. Upgrade

    Upgrade ubuntu/linux-ibm to a version that resolves this vulnerability.

    Fixed in 7.0.0-1015.15
  16. Upgrade

    Upgrade ubuntu/linux-nvidia-bos to a version that resolves this vulnerability.

    Fixed in 7.0.0-2022.23
  17. Upgrade

    Upgrade ubuntu/linux-oem-7.0 to a version that resolves this vulnerability.

    Fixed in 7.0.0-1015.15
  18. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 7.0.0-1013.13
  19. Upgrade

    Upgrade ubuntu/linux-realtime to a version that resolves this vulnerability.

    Fixed in 7.0.0-38.38.1
  20. Upgrade

    Upgrade ubuntu/linux-riscv to a version that resolves this vulnerability.

    Fixed in 7.0.0-38.38.1

Event History

Aug 15, 2026
CVE Published
via OSV·06:22 AM
Data Sourced
via OSV·06:22 AM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Which systems are most likely to be exposed to this race?

Systems using the mlx5e network driver on weakly ordered architectures are affected by the described condition, specifically ARM, PowerPC, and RISC-V. The issue was observed in production on BlueField-3 DPUs running arm64.

2

What activity is required to trigger the issue?

A concurrent statistics reader must race with channel creation. The reported production scenario involved ovs-vswitchd querying netdev statistics through netlink during NIC bringup while another CPU was opening a channel and allocating its statistics entry.

3

What is the likely impact if the race occurs?

A reader can see the published channel count before the corresponding channel statistics pointer is visible. It can then dereference a NULL channel-statistics pointer in the channel statistics loop.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203