11 月 1 日,三个针对 WAVLINK WN553X1-B 路由器的命令注入漏洞同时进入 CVE 记录,CVSS 3.1 评分全部为 9.9(严重)。三条记录来自同一个编号机构 VulDB,受影响固件版本为 260403_2.0.0,公开利用已被披露,而厂商侧目前既没有安全公告,也没有可用补丁。
事件概述
三个编号分别是 CVE-2026-120238、CVE-2026-120239、CVE-2026-120240,发布时间集中在 11 月 1 日 17:45 至 18:30 UTC。它们指向同一份固件、同一个二进制文件里的三个不同函数:
- CVE-2026-120238:
/bin/ioos中的sub_4162A8,属于 ovpn_file 处理器,注入参数为 file_id。 - CVE-2026-120239:
sub_419DA8,属于 WireGuard CLI 处理器,注入参数为 file_id。 - CVE-2026-120240:
sub_41A748,属于 WireGuard CLI Group 处理器,注入参数为 group_id 与 group_name。
三条记录的描述几乎一致:对上述参数的操纵可导致操作系统命令注入,攻击可远程执行,利用代码已公开并可能被使用,厂商在披露前已被提前联系。
技术细节:9.9 分但需要低权限
这是本次披露最容易被误读的地方。CVSS 3.1 向量为 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H:网络可达、攻击复杂度低、无需用户交互、影响范围变更,但 PR:L 表示需要低权限。也就是说,这三条记录描述的并不是「未认证即可打穿」的路径,攻击者得先有一个能登录管理界面的账号。
CVSS 4.0 口径下评分为 9.4,向量为 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H,同样保留 PR:L。需要强调的是,这两个分数都来自 CNA(编号机构)记录,不是 NVD 的独立评估。
为什么是这三个函数:/bin/ioos 是这类路由器固件里负责网络接口与隧道配置的核心组件,OpenVPN 与 WireGuard 的文件导入、CLI 命令、分组管理都从这里走。开发方通常把用户提交的标识符直接拼进系统调用,省掉参数化处理,于是 file_id、group_id 这类「看起来只是编号」的字段,就成了注入点。同一份固件里三个处理器踩同一个坑,说明问题不是个别疏漏,而是这套代码的输入处理模式本身需要重写。
受影响范围写得很死:260403_2.0.0。其中后两条记录把版本号写成了 V260403_2.0.0,其余字段一致,属于同一型号同一版本的前缀差异。记录并未证明 WN553X1-B 的其他固件版本同样受影响,也没有给出已修复的版本号。记录中提到厂商被联系,但没有链接到任何官方公告或补丁,因此不能从 9.9 这个分数反推「已经有修复」。
影响评估
- 权限前提不等于安全:家用与小型办公路由器的管理口令普遍偏弱,甚至保留出厂默认值,PR:L 在现实中往往等价于「知道或猜到一个管理员口令」。
- 影响范围变更(S:C)意味着后果不止于路由器本身:命令注入拿到的是设备 shell,这类设备常被当作跳板或流量劫持节点。
- 利用代码已公开(E:P),从「公开」到「被批量扫描」通常只有几天时间。
- 缺少补丁是最大风险项:没有官方修复版本,就无法给出「升级到 X 即可」的闭环建议。
修复建议
- 先确认版本:登录管理界面或在设备信息页核对固件版本,是否为 260403_2.0.0。若不是这个版本,也不能直接判定安全,应等待厂商说明后再评估。
- 收敛管理面:关闭公网侧的 Web 管理入口,只允许内网或指定 IP 访问;关闭 UPnP 与远程管理;修改默认口令并启用强密码。
- 功能面减法:若不需要 OpenVPN 与 WireGuard 功能,直接在管理界面停用相关服务,可减少暴露面。这是暴露面收敛,不是漏洞修复。
- 检测思路:路由器向外部地址发起异常出站连接、出现非预期的定时任务或启动脚本变更,都应视为可能已被植入。
- 关注厂商支持渠道:在官方发布公告或修复固件前,把这类设备按「已知存在可利用漏洞」纳入资产管理台账,而不是等扫描器报出来。
# 快速核对暴露面(在公网侧自查管理端口是否可达)
nmap -Pn -p 80,443,8080 <router_public_ip>