---
id: "CVE-2026-99193"
kind: "vulnerability"
aliases: ["CVE-2026-99193"]
title: "Linux kernel: TI PRU Ethernet driver crashes on probe with shaper enabled"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["embedded", "linux-kernel", "package", "ti-am335x", "ti-am57xx", "ti-am65x"]
not_affected_if: ["config-net-shaper-disabled", "no-ti-prueth-driver", "non-ti-hardware"]
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:12+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-99193", "first_seen_at": "2026-10-28T11:32:37+00:00"}]
---

# Linux kernel: TI PRU Ethernet driver crashes on probe with shaper enabled

In the Linux kernel's TI ICSSM PRU Ethernet driver, netdev operations are assigned after the PHY is attached, so probing dereferences a NULL pointer when CONFIG_NET_SHAPER is enabled. The impact described is a kernel crash (denial of service) during driver probe, with no code execution or data exposure stated.

_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=y` and includes the TI `icssm-prueth` driver (`grep CONFIG_NET_SHAPER /boot/config-$(uname -r)`)
- Check whether the board uses the `icssm-prueth` driver (PRU-ICSS Ethernet on TI AM335x/AM57xx/AM65x class SoCs), for example with `lsmod | grep prueth`
- Compare the running kernel with the fixed stable release: `uname -r`

## Fix

- Update the Linux kernel to a stable release that includes the commit moving the `ndev->netdev_ops` assignment before `of_phy_get_and_connect()` in `icssm_prueth_netdev_init()` (version unknown from the sources)
- Until updated, disable `CONFIG_NET_SHAPER` or avoid loading the `icssm-prueth` driver where it is not needed

## Timeline

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

## From the sources

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

net: ti: icssm-prueth: Move setting of netops to fix crash

icssm_prueth_netdev_init() calls of_phy_get_and_connect() before
ndev->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_
