CVE-2026-46607: Glances has Insecure Pickle Deserialization in its Version Cache that Leads to Arbitrary Code Execution
(updated )
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).
References
- github.com/advisories/GHSA-9837-48hr-q32j
- github.com/nicolargo/glances
- github.com/nicolargo/glances/releases/tag/v4.5.5
- github.com/nicolargo/glances/security/advisories/GHSA-9837-48hr-q32j
- github.com/pypa/advisory-database/tree/main/vulns/glances/PYSEC-2026-2496.yaml
- nvd.nist.gov/vuln/detail/CVE-2026-46607
- pypi.org/project/glances
Code Behaviors & Features
Detect and mitigate CVE-2026-46607 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →