Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker runs local process with pipe character in argv
-
DeliveryGlances processlist plugin collects cmdline as list
-
ExploitConfigured alert threshold condition fires
-
ExecutionChevron renders unsanitized pipe into command string
-
Impactsecure_popen executes injected command under Glances identity
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Three conditions must be satisfied simultaneously: (1) the attacker can execute a process on the monitored host with attacker-controlled argv, which requires only local user access available to any account with shell or process-execution rights; (2) Glances must be running with at least one action template in glances.conf that references processlist stats and renders cmdline via a Mustache section such as |
| Impact | The CVSS 3.1 score of 8.8 with S:C and C:H/I:H/A:H accurately reflects the potential for full system compromise when Glances runs with administrative or root-level permissions, as the injected command executes under Glances' security context and escapes the monitoring process's own privilege boundary. The attack vector (AV:L, PR:L) grounds real-world risk: exploitation requires that the attacker can run a process on the monitored host and that an administrator has configured action templates referencing cmdline values - a non-default but operationally plausible deployment. EPSS data is absent from the provided input, preventing quantified exploitation probability; KEV status is not confirmed, and the GHSA advisory does not report in-the-wild use. Even a mid-sized municipal IT team in sopot running Glances with process-alert automation should treat this as an urgent upgrade rather than a deferred patch, because the GHSA advisory includes concrete test vectors such as |
| Exploit ScenarioDerived | An unprivileged local user launches a process with crafted argv containing a pipe payload such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 17, 2026
Command injection in Glances system monitoring (versions 4.5.2 through 4.5.5) allows a local attacker with process-execution rights to bypass the action-template sanitizer by embedding pipe characters in process argv, which is exposed as a Python list that the incomplete _sanitize_mustache_dict() function passes to the Mustache renderer without sanitization. This is a confirmed incomplete fix of CVE-2026-32608: the original sanitizer checked only top-level string values in the render dictionary, leaving nested containers unchecked, and the Chevron renderer does not escape |, so the character reaches secure_popen and spawns an attacker-controlled subprocess. Vendor-released patch v4.5.6 introduces recursive sanitization; no public exploit has been identified at time of analysis.
RemediationAI
Upgrade Glances to version 4.5.6, released at https://github.com/nicolargo/glances/releases/tag/v4.5.6, which introduces the recursive helper _sanitize_value() and rewrites _sanitize_mustache_dict() to walk nested lists, tuples, and dicts rather than sanitizing only top-level string values; the authoritative patch commit is ea4cf2f54f0d961e24aa0b24fff9584bab39db93 at https://github.com/nicolargo/glances/commit/ea4cf2f54f0d961e24aa0b24fff9584bab39db93. If an immediate upgrade is not feasible, the most targeted compensating control is removing all action templates from glances.conf, which fully eliminates the vulnerable execution path at the cost of disabling process-alert automation. Alternatively, restrict local shell and process-execution access to trusted accounts only on the monitored host to reduce the pool of potential attackers - note this is not a complete mitigation, since any remaining low-privilege local account can still exploit the flaw if templates remain configured.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Glances (cpe:2.3:a:nicolargo:glances) provides a Mustache-template action system in glances/actions.py that fires OS commands when monitored metrics cross configured thresholds. The processlist plugin populates each action template's render dictionary with per-process stat items, including cmdline - a Python list of argv elements fully controlled by the process owner. The sanitizer _sanitize_mustache_dict(), added in the CVE-2026-32608 fix, iterates top-level dictionary keys and applies str.replace() only to values satisfying isinstance(v, str), returning lists, tuples, and nested dicts entirely verbatim. Chevron (the Mustache renderer) does not HTML-escape the pipe character, so | embedded in a cmdline list element survives templating and enters the command string handed to secure_popen() in glances/secure.py, which operates with allow_operators=True by default - treating | as a subprocess pipe and > as file redirection. The root cause (CWE-78, Improper Neutralization of Special Elements used in an OS Command) is a classic incomplete sanitization: the defense was applied at the wrong abstraction layer and did not account for the full depth of attacker-controlled data flowing through the render pipeline.
Know when Glances gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
AV:L and PR:L reflect local process execution by any unprivileged user; S:C captures injected commands running under Glances' potentially elevated context; AC:L because exploitation is mechanically straightforward once action templates are configured.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Glances is an open-source system cross-platform monitoring tool. From 4.5.2 until 4.5.6, _sanitize_mustache_dict() in glances/actions.py skips nested list and dictionary strings such as process cmdline values, allowing pipe characters to survive chevron.render() and be executed by secure_popen() through administrator-configured action templates. This issue is fixed in 4.5.6.
Executive ViewAI
Glances system monitoring versions 4.5.2 through 4.5.5 contain a command injection vulnerability allowing local attackers with process execution rights to bypass security controls and execute arbitrary commands. This affects organizations running vulnerable versions, exposing system monitoring infrastructure to unauthorized command execution and potential infrastructure compromise.
Apply vendor patch v4.5.6 or later.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
The package glances before 3.2.1 are vulnerable to XML External Entity (XXE) Injection via the use of Fault to parse unt
Command injection in Glances prior to 4.5.6 allows a local unprivileged user to execute arbitrary shell commands when ad
Glances is an open-source system cross-platform monitoring tool. versions up to 4.5.1 is affected by information exposur
Cross-origin data exfiltration in Glances web server allows remote unauthenticated attackers to read sensitive system in
Server-Side Request Forgery in Glances IP plugin allows authenticated attackers to force the monitoring application to s
SQL injection in Glances TimescaleDB export module allows local attackers to execute arbitrary SQL commands against the
Glances versions through 4.5.5 contain an incomplete fix for CVE-2026-53925: the `--disable-config-exec` flag correctly
Glances REST API prior to 4.5.6 exposes authenticated system monitoring data to untrusted cross-origin websites due to a
Cassandra export module in Glances prior to version 4.5.4 allows local privilege-escalated users to redirect monitoring
Credential disclosure in Glances prior to 4.5.6 allows unauthenticated remote attackers to retrieve plaintext usernames
EUVD-2026-60303
GHSA-73wf-9vmv-5pv9
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB