从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:net: gso: fix tcp fraglist segmentation after pull from frag_list - 描述:修复了TCP GSO(大段)在从frag_list拉取后,对skbuff(数据包缓冲区)的分割错误。skbuff的头部分包含协议头部和第一个gso_size的数据,而其他片段则包含完整的gso_size数据。在某些极端情况下,TCP会将所有数据拉入skbuff的线性部分,导致TCP hdr(头部)在__tcpv4_gso_segment_list_csum中的指针为空。 2. 修复方法: - 代码修改:在net/ipv4/tcp_offload.c和net/ipv6/tcpv6_offload.c文件中进行了修改。 - 逻辑调整:在skbuff的头部检查gso_type和SKB_GSO_FRAGLIST标志,如果满足条件,则检查skbuff的大小是否等于gso_size的4倍,如果是,则将skbuff的ip_summed字段设置为CHECKSUM_NONE。 3. 影响范围: - 文件:net/ipv4/tcp_offload.c和net/ipv6/tcpv6_offload.c - 代码行数:总共修改了16行代码,其中10行插入,4行删除。 4. 作者和贡献者: - 作者:Felix Fietkau - 贡献者:Jakub Kicinski、Willem de Bruijn 5. 链接和参考: - 链接:https://lore.kernel.org/netdev/20240828142913.18666-1-shiming.cheng@mediatek.com/ - 参考:https://lore.kernel.org/netdev/20240922150450.3873767-1-willemdebruijn.kernel@gmail.com/ - 修复:bee88cd5bd83(net: add support for segmenting TCP fraglist GSO packets) 6. 状态: - 状态:已修复(已合并到master分支) 这些信息可以帮助我们理解漏洞的性质、修复方法以及影响范围,从而更好地评估和处理类似的安全问题。