---
id: "CVE-2026-99195"
kind: "vulnerability"
aliases: ["CVE-2026-99195"]
title: "Linux kernel: ethoc driver crashes on probe with NULL pointer dereference"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["embedded", "ethoc", "linux-kernel", "runtime"]
not_affected_if: ["config-net-shaper-disabled", "no-ethoc-driver"]
published_at: "2026-10-28T11:17:40+00:00"
first_seen_at: "2026-10-28T11:32:37+00:00"
updated_at: "2026-10-28T11:34:08+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-99195", "first_seen_at": "2026-10-28T11:32:37+00:00"}]
---

# Linux kernel: ethoc driver crashes on probe with NULL pointer dereference

In the Linux kernel's ethoc Ethernet driver, netdev_ops is assigned after the PHY is attached, so probing the device dereferences a NULL pointer when CONFIG_NET_SHAPER is enabled. The result is a kernel crash during driver probe, a denial of service rather than a confirmed code execution path.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check whether the kernel is built with `CONFIG_NET_SHAPER` enabled and whether the `ethoc` driver is loaded, e.g. `lsmod | grep ethoc` or `grep ETHOC /proc/modules`
- Check the running kernel version with `uname -r` against the fixed stable release listed in the kernel git commit
- unknown for whether affected hardware is present in practice

## Fix

- Update the Linux kernel to a stable release that includes the upstream commit moving the netdev_ops assignment before the PHY attach in ethoc_probe (the fixed version is not stated in the sources)
- unknown for specific fixed kernel version numbers

## Timeline

- 2026-10-28T11:32:37+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-99195

## From the sources

In the Linux kernel, the following vulnerability has been resolved:

net: ethoc: move setting of netops to fix crash

ethoc_probe() calls ethoc_mdio_probe(), which connects the PHY,
before netdev->netdev_ops is assigned. phy_attach_direct() ->
phy_link_topo_add_phy() reads dev->netdev_ops through
netdev_need_ops_lock() since the commit in question, so probing crashes
with a NULL pointer dereference when CONFIG_NET_SHAPER is enabled.

Assign netdev_ops before the PHY attach, as was done for emac in commit
7c9f391ec89c ("net: emac: move setting of netops to fix crash").

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
