路由器漏洞潜伏16年:隔条街就能接管你家WiFi

路由器漏洞潜伏16年:隔条街就能接管你家WiFi

网络安全路由器漏洞博通供应链安全WiFi安全

数据源:HN + web research

2026 年 10 月 16 日,安全研究员昆汀·凯泽(Quentin Kaiser)在巴黎 Hexacon 安全峰会上演示了一段街头实测。他站在马路对面,没有输入任何 WiFi 密码;他只向目标路由器发了几个无线数据包,几秒内就拿到了最高控制权限(root shell)。这个漏洞早在 2010 年就写进了博通(Broadcom)芯片的底层代码里;它在全球数以亿计的家用路由器中,静静潜伏了整整 16 年。芯片巨头、路由器代工厂与宽带运营商各自守着免责边界,把补丁传递链条卡成了死结;最终千家万户的客厅网络,替这场漫长的流程失灵买了单。

隔着马路发几个数据包,路由器就交出了最高权限

普通人总以为给自家 WiFi 设个复杂密码,黑客就进不来。凯泽公开的漏洞直接绕过了密码验证;攻击过程甚至不需要完成一次正常的路由器一键配对(WPS,Wi-Fi Protected Setup)。只要无线信号能飘到街对面,攻击者就能隔空注入恶意指令;随后既能顺手读出内存里的明文密码,也能直接把路由器变成受控傀儡。

为了验证现网的真实暴露面,凯泽与合作者对比利时四家主流宽带运营商做了抽样测算。Proximus 网络拥有 231.8 万用户,约 85 万台在用路由器存在该漏洞(涵盖 BBOX 3 与 BBOX3V+);VOO 的旧设备群里,约 50 万用户手里的 Netgear CG3100、Technicolor TC7210 等机型全部中招。Orange Belgium 旗下的 54.7 万用户中,也有约 21 万台 TCG3000 设备处于暴露状态;第四家运营商 Telenet 拥有 175.8 万用户,旗下 Sagemcom 系列网关的受影响数量仍在排查。仅前三大运营商加起来,就有超过 156 万台家庭网关随时可能被路过的攻击者接管。

凯泽在现场展示了两台真实运营商设备的攻破过程。面对 Orange Belgium 发放给用户的 TCG3000 网关,他通过无线电波执行任意代码;程序直接从非易失性内存(NVRAM,Non-Volatile Random-Access Memory)里提取出预共享密钥(PSK,Pre-Shared Key);紧接着密码顺着无线信道传回电脑,让他大摇大摆地连上了目标内网。面对 Proximus 用户的 BBOX3V+ 路由器,他干脆连密码都不偷了;他直接用 802.11 无线数据帧弹回一个反向控制终端,全程无需经过任何云端服务器中转。家用路由器本该是隔离外部威胁的第一道防线;如今它却成了无需钥匙就能从马路对面推开的敞开大门。

2010年写进底层代码,一套解析器把漏洞带进两代系统

为什么一个漏洞能横跨数十家品牌、感染数百款产品?答案藏在无线通信行业的分工模式里。绝大多数路由器品牌商并不自己编写底层的 WiFi 无线电处理代码;它们直接采购博通等芯片原厂提供的软件开发工具包(SDK,Software Development Kit)。只要芯片原厂的底层代码有一处瑕疵,下游厂商就会原封不动地把隐患装进机器。

凯泽溯源时发现,这段缺陷代码至少在 2010 年就已出现在博通软件仓库中;具体位置在 release/src-rt/wps/common/ap/ap_eap_sm.c 文件内。当路由器处理无线配对的扩展认证协议(EAP,Extensible Authentication Protocol)分片重组时,解析器没有严格校验数据长度;这直接引发了经典的内存缓冲区溢出。博通早先在实时操作系统 eCos 上使用了这套私有 802.11 协议栈;后来向 Linux 平台迁移时,工程师又把同一套带有缺陷的解析器代码原样搬了过去。

博通私有 802.11 协议栈在 Linux 平台上的数据流向 图:无线数据帧从底层 wl.ko 内核模块一路流向顶层 wps_monitor 进程;2010 年的老漏洞就这样被完整带入 Linux 平台。来源:Quentin Kaiser / Hexacon 2026

在 Linux 架构的路由器上,无线芯片收到信号后会触发硬件中断;数据包随即进入 wl.ko 内核驱动模块。随后数据穿过博通自定义事件通道与 eapd 多路复用器;最终它被交给用户态的 wps_monitor 进程处理配对逻辑。这相当于给大楼换了全新的钢筋混凝土框架,却把 16 年前的旧门锁原样装在了正门上。底层核心模块的盲目复用,让十多年前的单一代码错误扩散成了跨时代的行业通病。

要把这个内存溢出变成稳定可靠的接管工具,攻击者还要跨过三道技术门槛。起初攻击者并不知道恶意代码在内存里的具体落脚点;后续分片在偏移量 +0x9 处必须包含合法配对操作码(0x04 至 0x0F);而且写入位置总是排在 frags_received 字段之后。凯泽利用解析器内部结构,拼出了三个核心攻击原语:操控 total_received 变量实现任意内存写入;篡改 next_frag_to_send 指针实现任意内存读取;最后覆写 parse_msg 或 send_data 函数指针夺取控制权。

整个攻破过程像一场精密的外科手术,分为三个步骤推进。第一步先触发一次校准型信息泄露(calibration infoleak),算出当前数据相对于配对状态对象的内存偏移量;第二步利用 next_frag_to_send 自引用指针字段,读出配对状态在内存里的绝对物理地址。第三步直接把 send_data 函数指针改写成恶意代码地址;在路由器准备回复无线信号的一瞬间,执行流就被悄然劫持。一套严丝合缝的三步利用链,把原本会导致死机重启的内存报错,转化成了百发百中的无声入侵。

2018年半截补丁埋下隐患,数亿台旧设备沦为永久弃儿

这个漏洞并非直到今天才被人察觉。早在 2018 年,博通就已经知晓了这处安全隐患,并在内部悄悄发布过一版修复代码。问题在于当时的补丁并没有把漏洞修干净;随后博通干脆建议下游制造商放弃这套私有软件栈,整体迁移到开源社区维护的 hostapd 无线管理方案上。

博通受影响芯片家族与操作系统平台划分 图:横跨电缆、电话线与光纤三类宽带接入设备的芯片矩阵;左侧 eCos 平台设备已沦为无法升级的永久漏洞机。来源:Quentin Kaiser / Hexacon 2026

这种「劝人搬家」的修补策略,直接在产品线上划出了一道残酷的生死线。采用 BCM65xx、BCM68xx 等新芯片的 Linux 路由器,只要设备商肯花人力重构软件,还能换用 hostapd 堵上窟窿;但对于运行 eCos 实时系统的 BCM3380、BCM3383、BCM3384 以及双核 BCM3390 芯片,系统里根本没有迁移条件。这批旧设备覆盖了同轴电缆(DOCSIS)、电话线(xDSL/vDSL2)和光纤(xPON)三大接入网;它们从 2018 年起就变成了无法获得完整修复的「永久零日漏洞机」(Forever-day)。

为了弄清不同代际设备的真实状况,凯泽在巴黎街头做了一次被动式无线信号扫描。扫描结果显示,采用 BCM68572、BCM68881、BCM6752、BCM68360 等新一代 WiFi 6 芯片的网关大多已经打上补丁;老一代产品却依然门户大开。缺乏全球各大运营商的内部台账,凯泽无法给出精确到个位数的统计;但他根据欧洲现网的暴露比例推算,全球仍在带病运行的同款设备处于「低位的几亿台」量级。硬件厂商用架构升级代替完整修补,省下了维护成本;数以亿计还在服役的老旧路由器,却被直接判了安全死刑。

芯片厂与安全机构互相踢皮球,90天披露期撞上制度死结

既然漏洞危害如此直观,为什么八年过去,运营商手里的设备还是没修好?凯泽在 2026 年夏天启动了 90 天标准漏洞披露流程;这一过程把供应链上的推诿链条完整还原了出来。7 月 18 日和 7 月 27 日,他先后向博通安全团队提交了 eCos 与 Linux 平台的两份报告(编号 KS-20260718-02 与 KS-20260727-01)。

补丁向下游传递的两条分化时间线 图:上游芯片厂发布补丁后,只有主动跟进的设备商在 2026 年保障了安全;忽略通知的渠道则让隐患一路留存至今。来源:Quentin Kaiser / Hexacon 2026

7 月 28 日,博通回复称修复补丁早已存在;如果研究员发现了受影响设备,请先去联系对应的路由器制造商,再由制造商回头向博通索取补丁。第二天凯泽追问细节时,博通明确拒绝为该漏洞分配通用漏洞披露编号(CVE,Common Vulnerabilities and Exposures);同时博通也拒绝提供当年向设备商发送安全通知的记录副本。8 月 4 日,凯泽尝试向国际协调机构 CERT/CC 提交案件,结果当天就被直接关闭。

在这场拉锯战中,博通与安全研究员站在各自立场上给出了不同解释。按现行规则,博通自身就是具备资质的漏洞编号分配机构(CNA,CVE Numbering Authority),拥有是否签发编号的自主裁量权;公司在 2018 年就已向客户提供修复方案与迁移建议,按合规流程无需重复立项。从凯泽与下游防护者的视角来看,芯片厂拒绝分配公开 CVE 编号、拒绝发布公开公告,直接掐断了跨层供应链里的公开预警信号;大量下游代工厂和宽带运营商,根本不知道自己采购的底层代码里埋着隐患。

当上游渠道走不通时,凯泽只能自己去敲下游运营商的门,结果撞上了另一堵沉默的墙。他在 7 月 29 日把报告和工具发给了比利时多家运营商及网络安全中心;Proximus 直到 8 月 25 日才安排电话跟进,VOO 全程没有任何回音。Orange Belgium 的首席信息安全官在 8 月 18 日悄悄在社交平台上关注了凯泽,却始终没有给出正式答复;直到 10 月 15 日演讲前夕,上述运营商现网里没有一台受影响设备完成修补。一条既无公开编号预警、又无强制整改约束的脆弱供应链,让安全补丁在八年里沦为芯片厂服务器上的摆设。

AI一周拆穿16年黑盒,供应链欠下的技术债终究要还

过去芯片厂商和设备商敢于依赖私下通知,是因为逆向分析闭源固件的门槛太高;一名资深安全专家往往要耗费好几个月,才能啃下一块硬骨头。凯泽在报告结尾透露了一个关键细节:借助前沿人工智能大模型辅助分析,他从零摸清博通这套私有协议栈并写出利用代码,前后只花了不到一周时间。为了推动行业清理旧账,他在代码托管平台上开源了设备指纹识别脚本与检测规则(github.com/qkaiser/broadcom-wps);他呼吁全球安全社区共同清点身边还在裸奔的路由器。

这种隔着马路就能触发的漏洞,在现实世界里有着极高的实战破坏力。黑客组织惯用的「最近邻攻击」会先攻破目标大楼周边的民用无线网络,再借机渗入内部核心网;针对差旅人士的酒店网络入侵同样依赖这类入口,数以亿计长期不换代的家用网关都是现成的跳板。芯片原厂觉得自己八年前就发过通知,代工厂觉得老型号早已过保停产,运营商觉得更换百万台硬件成本太高;每一方都在商业合同里算清了自己的账,唯独把长达 16 年的风险留给了毫不知情的普通用户。

参考链接:

  • Quentin Kaiser 安全研究报告《One Parser, Two Bugs, Many Routers: Exploiting Broadcom WiFi Across eCos and Linux》
  • Hexacon 2026 巴黎安全峰会演讲幻灯片《Exploiting Broadcom WiFi Stack Across eCos and Linux》
  • 开源检测脚本与 YARA 规则仓库(broadcom-wps)
  • HN 讨论