
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-73974 is an arbitrary root file read vulnerability in Linuxfabrik's linuxfabrik-lib Python library and associated Linuxfabrik Monitoring Plugins, enabling local privilege escalation from the nagios/icinga account to root. The flaw exists in lib.lftest.test(), which accepts a hidden but live --test command-line argument that treats its first CSV element as an unrestricted filesystem path and reads its contents as simulated plugin output. Affected versions are linuxfabrik-lib < 6.1.0 and Linuxfabrik Monitoring Plugins < 7.0.0. The vulnerability was disclosed on August 18, 2026, and carries a CVSS v3.1 base score of 5.5 (Medium) (GitHub Advisory).
The root cause is a path traversal flaw (CWE-22) combined with improper privilege management (CWE-269) in lftest.py lines 659–664, where lib.lftest.test(args) reads args[0] (and args[1] for stderr) as a filesystem path via disk.read_file() with no path confinement. Because the --test argument is registered via argparse.SUPPRESS (hidden from --help but fully accepted at runtime), and the shipped nagios/icinga sudoers allowlist grants passwordless sudo to the affected plugins, an attacker with the nagios account can supply an arbitrary absolute path (e.g., /etc/shadow) as the --test CSV element. The deb-updates plugin provides full file disclosure; approximately 22 other plugins expose filtered content or a root file existence/readability oracle; network-bonding and openstack-swift-stat had direct read paths (open() and lib.disk.read_file()) that bypassed the helper entirely (GitHub Advisory, lib fix commit).
Successful exploitation allows a local attacker controlling the low-privilege nagios or icinga monitoring account to read the full contents of any root-readable file on the system — including /etc/shadow, SSH private keys, TLS certificates, and cloud credentials — without any additional authentication. Beyond full disclosure via deb-updates, the ~22 other affected plugins provide filtered content leaks and a universal root file existence/readability oracle, enabling reconnaissance for further privilege escalation. There is no integrity or availability impact, but the confidentiality impact is rated High, and the primitive is sufficient to achieve effective local privilege escalation to root (GitHub Advisory).
A public proof-of-concept is included in the GitHub Security Advisory itself, demonstrating exploitation with a single command: sudo /usr/lib64/nagios/plugins/deb-updates --test=/etc/shadow,,0. The EPSS score is 0.0 as of disclosure, and the vulnerability is not listed in the CISA KEV catalog. No in-the-wild exploitation or threat actor attribution has been reported. Exploitation requires local access as the nagios/icinga account and a system configured with the shipped sudoers allowlist, which is the documented default deployment model (GitHub Advisory).
nagios or icinga service account, which is the documented low-privilege account used by Linuxfabrik Monitoring Plugins in production environments.sudo to the target plugin (e.g., /usr/lib64/nagios/plugins/deb-updates) without restricting arguments./etc/shadow, /root/.ssh/id_rsa, or a TLS private key.deb-updates plugin's full-disclosure path:sudo /usr/lib64/nagios/plugins/deb-updates --test=/etc/shadow,,0The CSV argument ['/etc/shadow', '', '0'] sets element[0] as the file path, element[1] as empty stderr, and element[2] as return code 0./etc/shadow as root via lib.lftest.test() → disk.read_file(), stores each line as a package row, and prints all rows to stdout under the default --query='1' (WHERE 1, matches all rows).docker-info, route the target to the stderr channel for filtered disclosure: sudo /usr/lib64/nagios/plugins/docker-info --test="dummy,/etc/shadow,0" (GitHub Advisory)./var/log/audit/audit.log or journalctl) showing sudo invocations of Linuxfabrik check plugins (e.g., deb-updates, docker-info, network-bonding) by the nagios or icinga user with a --test argument containing an absolute path (e.g., --test=/etc/shadow,,0)./var/log/auth.log or /var/log/secure) recording unexpected sudo commands from the nagios/icinga account outside normal monitoring schedules.--test arguments referencing paths outside the plugin's unit-test/ directory, visible via ps aux snapshots or process accounting./etc/shadow, /root/.ssh/id_rsa, or TLS key files, detectable via stat or file integrity monitoring tools (e.g., AIDE, Tripwire) (GitHub Advisory).Upgrade linuxfabrik-lib to version 6.1.0 and Linuxfabrik Monitoring Plugins to version 7.0.0, which confine --test fixture reads to the invoking plugin's own unit-test/ directory (anchored to sys.argv[0], not the working directory), refuse symlinked anchors, and route network-bonding and openstack-swift-stat through the confined helper (lib release v6.1.0, plugins release v7.0.0). As a workaround prior to patching, restrict sudoers entries to specific argument values so that --test cannot be passed to root-run plugins, or temporarily remove the sudoers allowlist entries for affected plugins. Additionally, db_sqlite.get_db_path() in the patched library now rejects database filenames containing path separators or parent-directory references as defense-in-depth (lib fix commit).
The vulnerability was reported by researcher 'zx (Jace)' and credited to 'manus-use' in the GitHub Security Advisory. The Linuxfabrik maintainer (markuslf) responded promptly with fixes committed to both the lib and monitoring-plugins repositories and released patched versions. No significant broader media coverage or notable community commentary beyond the advisory itself has been identified at this time (GitHub Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."