CVE-2026-31517Linux内核xfrm模块中的IP-TFS功能存在安全漏洞。在数据包重组过程中,当处理非线性的skb数据包时,代码错误地调用了skb_put()函数,触发了SKB_LINEAR_ASSERT检查,导致内核崩溃。本地低权限攻击者可利用该漏洞造成系统拒绝服务。
漏洞位于Linux内核net/xfrm/xfrm_iptfs.c文件的iptfs_reassem_cont()函数。在重组IP-TFS分片时,若首个分片通过零拷贝方式处理,会导致新skb(newskb)变为非线性状态。当处理同一数据报的后续分片且不满足快速路径条件时,代码会尝试内存拷贝并调用skb_put()。由于skb_put()仅适用于线性skb,对非线性skb调用该函数会触发SKB_LINEAR_ASSERT宏,导致内核空指针引用或非法操作,进而引发系统崩溃。修复方案是在调用skb_put()前检查skb是否线性,若非线性则调用skb_linearize()进行线性化。