CVE-2026-43173Linux内核中的ixp4xx以太网驱动存在空指针解引用漏洞。在处理硬件时间戳请求时,`ixp4xx_get_ts_info`函数无条件调用`ixp46x_ptp_find`,而该功能仅在特定ixp46x硬件上支持。在ixp4xx系列的其他硬件(如ixp42x)上运行tcpdump等工具时,会触发内核空指针读取错误,导致系统崩溃。本地低权限用户可利用此漏洞造成拒绝服务。
该漏洞源于Linux内核驱动`ixp4xx_eth`中缺少对硬件兼容性的校验。在实现PTP(精确时间协议)支持时,代码假设当前运行的硬件总是支持PTP功能。具体来说,`ixp4xx_get_ts_info`函数直接调用`ixp46x_ptp_find`函数以获取PTP时钟信息。然而,PTP功能仅存在于Intel IXP46x系列处理器上,在IXP42x或IXP43x等处理器上,相关硬件资源未初始化,指针为空。当本地用户调用`ethtool`或使用`tcpdump`抓包时,会触发`__ethtool_get_ts_info`回调,进而进入上述有问题的代码路径。由于未检查设备类型,代码尝试读取空指针地址(0x00000238),导致内核异常并最终引发Segmentation fault,使系统重启或死机。修复方案是在`ixp46x_ptp_find`入口处增加对ixp46x特定硬件的检测,若硬件不支持则直接返回错误,避免后续解引用操作。