Skip to main content
← All vulnerabilities
CVE-2026-46607PYSEC-2026-2496GHSA-9837-48HR-Q32J

Glances: Insecure Pickle Deserialization in Version Cache Leads to Arbitrary Code Execution

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.5.5
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • nicolargo glances

    fixed in 4.5.5

  • glancesPyPI

    fixed in 4.5.5

References 2

GitHub · nicolargo/glances