CVE-2025-71133CVE-2025-71133是Linux内核中RDMA/irdma驱动的安全漏洞,CVSS评分7.1,属于高危级别。该漏洞存在于irdma_net_event()函数中,函数在处理网络邻居事件时,在未验证事件类型为NETEVENT_NEIGH_UPDATE的情况下就直接访问了neigh指针指向的内存。由于不同的NETEVENT事件类型对应不同的数据结构,这些结构体的大小可能小于struct neighbour,导致内核读取超出边界的内存区域。此漏洞主要在调试内核上触发KASAN检测,报告stack-out-of-bounds错误。虽然在生产环境中影响有限,但可能导致敏感信息泄露或系统不稳定。攻击者需要本地低权限即可触发此漏洞,无需用户交互。
漏洞根源在于irdma_net_event()函数的设计缺陷。该函数接收一个通用指针参数ptr作为neigh的别名,但在函数入口处未进行事件类型验证就直接解引用该指针访问neigh->dev字段。Linux内核的NETEVENT子系统会发送多种不同类型的事件通知,每种事件携带不同的数据结构。当事件类型不是NETEVENT_NEIGH_UPDATE时,ptr指向的结构体可能远小于struct neighbour,此时访问neigh->dev将导致越界读取内核栈内存。
从KASAN报告可见,读取操作发生在irdma_net_event+0x32e/0x3b0地址,读取大小为8字节,访问地址ffffc900075e07f0超出当前栈帧边界。触发路径经过rt6_probe_deferred工作队列、tcp_v6_err、icmpv6_notify、ndisc_redirect_rcv等网络栈函数,最终在IPv6重定向场景下触发邻居更新事件。修复方案是将neigh->dev的读取操作移动到NETEVENT_NEIGH_UPDATE条件分支内部,确保只在验证事件类型后才进行指针解引用。