Debian #1135514 bug引发的思考

shixudong@163.com

劳动节期间,对VPS上的debian12进行了升级,内核版本从6.1.164-1(2026-03-09)升级到6.1.170-1(2026-04-30),修补了CVE-2026-31431本地提权漏洞。运行一段时间后,偶尔发现dmesg显示多条icmp: detected local route for IP1 during ICMP sending, src IP2的信息,网上查了一下资料,已经有人第一时间向debian提交了1135514 bug

该bug的成因,来自于linux新内核的两个关联补丁在反向移植时覆盖的LTS内核版本范围不一致,v6.13内核引入的第一个补丁解决了启用ip xfrm后访问本机LAN网段不存在的IP时触发的ip_rt_bug问题,该补丁被反向移植到6.12系列后续版本。前述"detected local route"信息是由第二个补丁(v7.0内核引入)产生的,该补丁严格说来应该算是第一个补丁的补丁,目的是为了解决特定情形下第一个补丁未能解决的同一个问题,然而这个特定情形并不存在于生产环境,完全属于人为构造。此外更令人蹊跷的是,该补丁除了被反向移植到6.12系列后续版本外,还被移植到了第一个补丁未覆盖的6.1和6.6这两个LTS内核系列的后续版本。

Debian12升级后的新内核6.1.170-1(2026-04-30),当有应用程序往本机LAN网段不存在的IP发包时,由于缺失第一个补丁的干预,即便没有启用ip xfrm,也会受到第二个补丁的影响,必然出现"detected local route"信息。对比测试Debian13修补CVE-2026-31431漏洞后的新内核6.12.85-1(2026-04-30),应用程序往本机LAN网段不存在的IP发包时,经由第一个补丁处理后,直接跳过了第二个补丁,显然不会产生前述bug。事后没几天,官方在修复CVE-2026-43284和CVE-2026-43500 "Dirty Frag"本地提权漏洞的同时,顺手为Debian12新内核打上了前述缺失的第一个补丁,从而修复了该bug,算是告一段落,对应的内核版本为6.1.170-3 (2026-05-08)。

对于内核为6.1.170-1(2026-04-30)版本的debian12来说,实验表明,只需要ping本机LAN网段不存在的IP,dmesg必然会出现"detected local route"信息,其中IP1为本机IP,IP2为ping对应的目标IP,显然和IP1位于同一网段。然而让人意外的是,在我的VPS上,偶尔出现的"detected local route"信息对应的IP1确实是本机IP,但IP2却是看起来不相干的WANIP,和IP1并不属于同一个LAN。经与chatgpt深入沟通,得知是由于VPS所在网关ARP响应不及时引起,当VPS给WANIP发包时,如VPS网关IP对应的neighbour状态不可达,并且网关ARP应答不及时的话,VPS就会因ARP超时进入内核ipv4_link_failure环节,最终触发前述第二个补丁,出现"detected local route"信息,并且对应的IP2就是VPS的发包对象WANIP。

明白了原理,就很方便重现上述现象,将本机LAN网段不存在的IP作为WANIP的gw,或者使用ebtables丢弃网关发来的ARP应答包,此时ping WANIP,就必然会出现IP2为WANIP的"detected local route"信息。显然,VPS环境更易受到宿主机和虚拟网络阻塞影响,在向WANIP发包时,一旦收不到网关IP发来的ARP应答包,同样也会出现IP2为WANIP的"detected local route"信息。阴差阳错之下,这个bug反而成为了检查VPS网络健壮性的手段,然而对于需要检测本机LAN网段IP的应用程序来说,该bug又会淹没正常的dmesg信息,真是让人爱恨交加。不过,该bug从出现到修复,犹如昙花一现,即使触发也没有不良影响,除了恰巧被本人遇到留下此文外,注定了不会引发更多关注。

相关推荐
Chloeis Syntax6 小时前
JAVAEE初阶 --- 构造HTTP请求
网络·网络协议·http·postman
砚凝霜7 小时前
软考网络工程师|第 1 章 计算机网络基础 完整备考笔记
网络·笔记·计算机网络
rcms152702692187 小时前
NIKON 4S019-394 接口模块
网络
某不知名網友7 小时前
Linux Socket 编程完整讲解
网络
ICT系统集成阿祥7 小时前
不用复杂命令,快速定位二层 / 三层网络故障
网络·网络排查·二层故障·三层故障
CHANG_THE_WORLD7 小时前
1.简单的服务端和客户端(仅作为内容补充)
linux·服务器·网络
学术小白人7 小时前
【倒计时4个月】-AI赋能图像处理与计算机视觉技术国际学术研讨会
网络·人工智能·神经网络·数据分析·光学
谜之锋8 小时前
银河麒麟 Debian 系统离线deb包安装Mariadb 数据库指南
数据库·debian·mariadb
无锡耐特森8 小时前
解决网关数据异常EtherNetIP 转Modbus TCP专用动态监测
网络·网络协议·tcp/ip
盟接之桥9 小时前
为制造而生:制造业EDI如何重塑全球连接力
网络·安全·低代码·汽车·制造