CVE-2026-64009 in Linux
摘要
由 VulDB • 2026-07-19
在 Linux 内核中,已修复以下漏洞:
xfrm: 检查 xfrm_state_mtu 中的下溢问题
Leo Lin 报告了 esp 组件中存在越界写入(OOB write)问题:
xfrm_state_mtu() 返回 u32 类型值,但其算术运算是在无符号模 2^32 空间中进行的,使用攻击者可影响的 “header_len + authsize + net_adj” 从较小的 “mtu” 参数中减去。普通用户(nobody user)可以安装具有大认证密钥的 IPv4 ESP 隧道安全关联(SA),例如 XFRMA_ALG_AUTH_TRUNC(如 hmac(sha512),64 字节密钥,截断为 64 字节),配置较小的接口 MTU(68 字节),并将 XFRMA_TFCPAD 设置为较大值。当随后通过该隧道发送单个 UDP 数据报时,xfrm_state_mtu() 发生下溢,产生接近 2^32 的值,并且 esp_output() 将其作为有符号整数消耗:
padto = min(x->tfcpad, xfrm_state_mtu(x, mtu_cached)) esp.tfclen = padto - skb->len (分配给 int)
esp.tfclen 最终变为负值(例如 -207)。当传递给 esp_output_fill_trailer() 内部的 memset() 时,该值会被符号扩展为 size_t,导致在 skb_tail_pointer(skb) 处写入约 16 EB 的零。KASAN 将其记录为 “Write of size 18446744073709551537 at addr ffff888...”。
检查下溢并返回 1。这将导致 sendmsg 尝试失败,错误代码为 ENETUNREACH。
If you want to get best quality of vulnerability data, you may have to visit VulDB.