西门子 ROX II 工业交换机曝三连零日漏洞:从任意文件读到持久化 root 控制
📖 原文翻译与解读。原文:Three Steps to the Terminal: A Siemens ROX II Zero-Day Trilogy(Unit 42 (Palo Alto Networks),2026 年 7 月 17 日)
一、执行摘要
Unit 42 与西门子安全团队联合披露了西门子 ROX II 工业交换机(OT 设备) 中三个零日漏洞组成的链式利用:CVE-2025-40948、CVE-2025-40947、CVE-2025-40949。攻击者成功串联该链即可在设备上升级至 root 权限并建立持久化控制,而这类交换机正是工业控制网络的关键组件。三个漏洞 CVSS 3.1 评分分别为 6.8、7.5 与 9.1。
利用过程分三阶段,从侦察一路推进到完全系统失陷:
- 任意文件泄露(CVE-2025-40948,CVSS 6.8):攻击者利用以 root 权限运行的 xz 工具配置缺陷,读取交换机文件系统上的任意文件,获取配置文件、密码哈希与私钥等敏感信息。
- 命令注入提权(CVE-2025-40947,CVSS 7.5):特征密钥(feature key)校验函数未对可控输入做净化,直接拼接到以 root 执行的命令中,导致命令注入与完整 root 权限获取。
- 持久化 root 代码执行(CVE-2025-40949,CVSS 9.1):利用 Web 管理任务调度器输入校验缺失,将恶意命令注入 root 的 cron 表,实现重启后仍存活的持久控制。
西门子已发布安全公告 SSA-973901、SSA-078743、SSA-081142,建议受影响的 ROX II 设备升级至固件版本 V2.17.1。
二、利用链阶段拆解
阶段一:滥用 xz 读取任意文件。 交换机上以 root 运行的配置守护进程会以用户传入参数执行 xz 命令。通过组合 -f、-c、-d 参数,xz 可被当作 cat 使用,从而读取本不允许普通用户访问的任意文件,为后续攻击提供凭据与拓扑情报。
阶段二:构造特征密钥实现 root 提权。 攻击者逆向特征密钥处理库后,在其签名校验函数中发现注入点。攻击分两步:先用 Web UI 正常上传通道上传恶意脚本(如 Python 反弹 shell)到可写目录;再构造签名字段含命令注入负载的特征密钥文件(例如 $(python /tmp/rev_shell.py)),触发后以 root 执行并实现完全控制。
阶段三:借任务调度器持久化。 认证后的攻击者在 Web 管理界面配置计划任务时,向底层系统配置文件注入控制字符与命令,以 root 执行实现持久化代码运行,重启不丢失,可持续外泄数据或发起拒绝服务。
三、行为级检测指标(IoB)
- 异常的任务调度条目:交换机系统配置文件或任务调度器中出现了非预期的脚本或命令(如 python、bash 或系统调用),而非合法任务函数。
- xz 工具的异常使用:特权配置守护进程执行带 -f、-c、-d 参数的 xz,表明其正试图读取用户常态下无法访问的文件。
四、邮件系统与运维防护启示
虽然漏洞位于 OT 交换机,但其暴露面与邮件安全运维高度相关:① 工业网络与 IT/邮件网络常存在桥接,OT 设备失陷会成为横向移动的跳板,应在邮件安全区与 OT 区之间强制网络分段并最小化信任;② 该链始于「特权进程执行用户可控命令」这一经典缺陷,与邮件网关、安全设备的插件或脚本机制同理——任何以高权限执行外部输入的位置都必须做严格输入净化;③ 对关键设备落实漏洞情报驱动的虚拟补丁与及时固件升级;④ 将异常任务调度、异常 xz 调用等 IoB 纳入日志与 EDR 监测。
了解更多行业资讯,请访问 行业资讯首页 或致电 021-69753778 获取安全咨询服务。
相关文章
—— ztpop.net 编辑团队 译
