CVE-2026-46607 json
Glances: Insecure Pickle Deserialization in Version Cache Leads to Arbitrary Code Execution
published 2026-06-22 4 mo ago modified 2026-10-25 14 d ago also GHSA-9837-48hr-q32j , PYSEC-2026-2496 , EUVD-2026-39519
- cvss
- 7.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 8%
- public exploits
- 0
- none known
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.
Patch / fix
- pypi glances 4.5.5
- glances Debian 14 4.5.5+dfsg-1
debian advisories DEBIAN-CVE-2026-46607
- python-Glances openSUSE Tumbleweed 4.5.5-1.1
opensuse advisories openSUSE-SU-2026:11122-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-46607 updated cvss 7.8
glances: Glances: Arbitrary Code Execution via insecure deserialization of cache file
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 4 mo ago
Exploit prediction
0.19% chance of exploitation in the next 30 days, higher than 8% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/nicolargo/glances/security/advisories/GHSA-9837-48hr-q32j referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| OSV | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | glances | <4.5.5 |
4.5.5 |
Affected products
- nicolargo glances
Classification
- Weakness
-
- CWE-502 Deserialization of Untrusted Data
References
-
github.com
/nicolargo/glances/security/advisories/GHSA-9837-48hr-q32j
exploit, web
-
github.com
/nicolargo/glances/releases/tag/v4.5.5
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-46607
advisory
-
github.com
/advisories/GHSA-9837-48hr-q32j
advisory
-
github.com
/nicolargo/glances
package
-
github.com
/pypa/advisory-database/tree/main/vulns/glances/PYSEC-2026-2496.yaml
web
-
pypi.org
/project/glances
web, package
Sources
- CVE List CVE-2026-46607
- GitHub Advisory GHSA-9837-48hr-q32j
- NVD CVE-2026-46607
- OSV PYSEC-2026-2496
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.