CVE-2026-43244Linux内核KCM组件存在逻辑漏洞。在处理部分发送错误时,frag_list中可能残留零片段的skb。攻击者利用此漏洞,通过精心构造的发送序列,可触发内核警告,导致系统资源耗尽或拒绝服务。
漏洞位于net/kcm/kcmsock.c的kcm_sendmsg函数中。当数据发送导致skb片段数组填满(达到MAX_SKB_FRAGS)时,内核分配新skb并链入frag_list。若此时数据拷贝失败(如用户态内存异常),该新skb保持零片段状态。对于SOCK_SEQPACKET,随后的零长度写入会触发MSG_EOR,将包含空skb的消息链加入发送队列。kcm_write_msgs在处理队列时,因无法容忍零片段skb而触发WARN_ON。修复补丁通过引入frag_prev指针,在错误路径中高效移除并释放无效skb。