Skip to content
OpenAdvisories
High · 8.1 Public exploit CVE-2026-54161 EUVD-2026-116198

upsmon: remote OS command injection (RCE) via attacker-controlled ups.alarm in NOTIFYCMD execution

Published Nov 3, 2026 · Updated Nov 3, 2026 · Assigned by GitHub_M

Description

Network UPS Tools is a collection of programs which provide a common interface for monitoring and administering UPS, PDU and SCD hardware. From 2.8.3 to 2.8.5, upsmon in clients/upsmon.c inserts the server-supplied ups.alarm value into shell commands executed by notify(), async_notify(), and wall(). When a monitored device reports an ALARM state and an operator has configured NOTIFYCMD with EXEC in NOTIFYFLAG ALARM, shell metacharacters in the alarm text are evaluated on POSIX or Windows and can execute arbitrary operating-system commands as the upsmon account, which is commonly root. An attacker can control the value through a malicious or compromised upsd, a man-in-the-middle on a plaintext upsd to upsmon connection, or a compromised UPS device whose driver supplies the alarm upstream of upsd; TLS between upsd and upsmon does not mitigate the compromised-device path. This vulnerability is fixed in 2.8.6.

Affected products

VendorProductAffectedFixed
networkupstools nut >= 2.8.3, <= 2.8.5 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 nut No fix yet —
Debian 13 nut No fix yet —
Debian 12 nut No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 nut No fix yet —
Ubuntu 26.04 LTS nut No fix yet —
Ubuntu 25.10 nut No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed nut 2.8.5-2.1 openSUSE-SU-2026:11367-1

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

  • ja-errorpro/CVE-2026-54161 ★ 1 · Jun 12, 2026

    upsmon: remote OS command injection (RCE) via attacker-controlled ups.alarm in NOTIFYCMD execution

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 1

References