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. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →