CVE-2026-31501Linux内核中的TI icssg-prueth驱动程序存在释放后重用漏洞。在接收数据包路径中,CPPI描述符被提前释放,但后续的emac_rx_timestamp函数仍尝试访问该描述符中的数据。这导致每次经过时间戳路径的数据包都会触发UAF漏洞,可能造成内核崩溃或权限提升。
该漏洞源于Linux内核驱动`drivers/net/ethernet/ti/icssg/icssg_prueth.c`中的逻辑错误。在`emac_rx_packet`和`emac_rx_packet_zc`函数中,代码首先调用`cppi5_hdesc_get_psdata()`获取CPPI描述符的`psdata`指针。随后,代码错误地调用`k3_cppi_desc_pool_free()`释放了该描述符。然而,在释放操作之后,代码紧接着调用了`emac_rx_timestamp()`函数,该函数仍尝试解引用`psdata[0]`和`psdata[1]`以获取时间戳信息。由于描述符内存已被归还给系统,访问这些地址构成了典型的释放后重用(UAF)。攻击者可以通过发送网络流量触发该代码路径,利用此漏洞可能导致内核崩溃(DoS),或在特定条件下实现内核代码执行。