网络UPS工具(NUT)远程代码执行漏洞影响upsmon,目前尚无补丁
sec随谈
sec随谈
sec随谈
2026年7月9日 08:24
北京
在小说阅读器读本章
去阅读
摘要
一个远程代码执行漏洞影响了广泛使用的NUT监控套件——Network UPS Tools。该漏洞编号为CVE-2026-54161,CVSS评分为8.1。攻击者可借此在监控主机上以root权限执行命令,目前尚无修复版本发布。
此Network UPS Tools远程代码执行漏洞为何重要
NUT随大多数Linux发行版及众多设备一并提供,存储、虚拟化和自动化厂商也常将其打包使用。因此,此Network UPS Tools远程代码执行漏洞影响的服务器范围十分广泛。
upsmon客户端通常以root权限运行,以便管理安全关机操作。因此,一次成功的攻击就能完全掌控整台主机。
攻击原理
upsmon信任其upsd服务器返回的数值。其中一个数值——ups.alarm,在使用前未经过清理消毒。当UPS报告告警时,upsmon会将该文本传入通过system()函数执行的shell命令中。
如果操作员在ALARM事件上启用了带EXEC的NOTIFYCMD配置,那么ups.alarm中的shell元字符就会作为命令被执行。这种upsmon命令注入随后会以upsmon用户身份运行,而该用户通常就是root。
谁能触发该漏洞
攻击者必须能够控制告警数值。恶意或被攻陷的upsd服务器可满足此条件,明文链路上的中间人攻击者或恶意UPS设备同样可以。由于设备这一攻击途径位于upsd的上游,因此upsd处启用的TLS加密并不能阻止此类攻击。
受影响版本
此Network UPS Tools远程代码执行漏洞影响NUT 2.8.3、2.8.4、2.8.5版本以及当前的git主分支。2.8.2及更早版本不受影响,导致此漏洞的告警处理机制是在2.8.3版本中引入的。
补丁与缓解措施
截至本文发布时尚无修复版本,但上游拉取请求(pull request)#3499中已包含修复方案。官方GitHub安全公告中已公开概念验证(PoC)代码,但目前尚未发现在野利用活动。在补丁发布之前,建议从ALARM通知标志中移除EXEC选项,严格限制upsd网络访问权限,并将所有ups.\*数值视为不可信数据处理。
参考链接:
https://github.com/networkupstools/nut/security/advisories/GHSA-mjgp-j4gm-6qg5
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论