文章总结: NetworkUPSTools(NUT)存在一个严重远程代码执行漏洞(CVE-2026-54161,CVSS8.1)。攻击者可通过控制告警数值,利用upsmon客户端对ups.alarm输入未进行清理的缺陷,以root权限执行命令。该漏洞影响NUT2.8.3至2.8.5版本及当前主分支,目前尚无官方补丁。建议用户立即从ALARM通知中移除EXEC选项,并严格限制upsd的网络访问权限作为临时缓解措施。 综合评分: 85 文章分类: 漏洞分析,应急响应,安全工具,解决方案,漏洞预警
网络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
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:sec随谈 sec随谈 sec随谈《网络UPS工具(NUT)远程代码执行漏洞影响upsmon,目前尚无补丁》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论