Glances: Insecure Pickle Deserialization in Version Cache Leads to Arbitrary Code Execution
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-502.
Summary
Glances is an open-source system cross-platform monitoring tool. Prior to 4.5.5, glances/outdated.py uses pickle.load() to read a version-check cache file stored at a predictable, world-accessible path (~/.cache/glances/glances-version.db or $XDG_CACHE_HOME/glances/glances-version.db). No integrity check, signature verification, or format validation is performed before deserialization. An attacker with write access to that path — through any of several realistic local or container-level scenarios — can plant a malicious pickle file and achieve arbitrary code execution as the OS user running Glances the next time it starts with version checking enabled (the default). This vulnerability is fixed in 4.5.5.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| nicolargo | glances | before 4.5.5 | 4.5.5 | Patch available | CNA |
| — | glances (PyPI) | before 4.5.5 | 4.5.5 | Patch available | GHSA-9837-48hr-q32j |
- glances Vendornicolargo Affected before 4.5.5 Fixed in 4.5.5 Patch available CNA
- glances (PyPI) Vendor— Affected before 4.5.5 Fixed in 4.5.5 Patch available GHSA-9837-48hr-q32j
Remediation
- Fix · CNA glances (nicolargo) Fixed in 4.5.5
- Fix · GHSA-9837-48hr-q32j glances (PyPI) Fixed in 4.5.5 Advisory →
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2026-46607
- 2026-10-03 Alias added: GHSA-9837-48hr-q32j
References
Advisory 2
More nicolargo vulnerabilities
- TI-2026-25142 Glances's Browser API Exposes Reusable Downstream Credentials via `/api/4/serverslist` CVSS 3.1CRITICAL 9.1
- TI-2026-25106 Glances exposes the REST API without authentication CVSS 4.0HIGH 8.7
- TI-2026-48284 Glances: Command injection bypass of action-template sanitizer via cross-field shell-operator reconstruction CVSS 4.0HIGH 8.8
- TI-2026-44988 OS command injection in nicolargo glances CVSS 3.1HIGH 8.8
- TI-2026-27083 Glances Vulnerable to Cross-Origin Information Disclosure via Unauthenticated REST API (/api/4) due to Permissive CORS CVSS 4.0HIGH 7.7
- TI-2026-25120 Glances has a SQL Injection in DuckDB Export via Unparameterized DDL Statements CVSS 3.1CRITICAL 9.1
Sources
- CVE-2026-46607 · CVE Program
- CVE-2026-46607 · NVD
- FIRST EPSS
- GHSA-9837-48hr-q32j · GitHub Advisory Database · CC BY 4.0
- CVE-2026-46607 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences