Glances
CVE-2026-30930
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local system access
-
DeliveryCreate process/container with SQL injection payload in name
-
ExploitGlances monitoring cycle collects malicious name
-
ExecutionTimescaleDB export constructs vulnerable SQL query
-
PersistArbitrary SQL executes against monitoring database
-
ImpactExfiltrate or manipulate time-series data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | TimescaleDB export module must be explicitly configured and enabled in Glances configuration (non-default setting in most installations). Attacker requires local access to the monitored system with privileges to create processes with arbitrary names OR ability to spawn containers/virtual machines with crafted names that Glances monitors. Exploitation is limited to environments where Glances actively exports to TimescaleDB - standard Glances installations using default console/web UI without database export are NOT vulnerable. The local attack vector (AV:L) and no privileges required (PR:N) mean any local user account suffices if TimescaleDB export is enabled, but the attacker cannot exploit this remotely without first gaining local system access through other means. |
| Impact | Real-world risk is MODERATE despite the 7.3 CVSS score. The CVSS vector (AV:L/AC:L/PR:N) indicates local attack vector with low complexity and no privileges required, yielding high confidentiality, integrity, and availability impact on the database. However, exploitation requires specific conditions: TimescaleDB export must be enabled (non-default configuration in most deployments), and the attacker needs local access to create processes/containers with malicious names. The EPSS score of 0.02% (4th percentile) suggests negligible real-world exploitation activity. Proof-of-concept code exists (E:P in CVSS vector), lowering the barrier for technical attackers. SSVC assessment: Exploitation is POSSIBLE (POC available), AUTOMATABLE with local access, and TOTAL technical impact (arbitrary SQL execution can compromise the entire monitoring database). Priority depends heavily on whether TimescaleDB export is actively used - for most Glances deployments using default exporters, this represents lower risk. For environments with TimescaleDB integration AND untrusted local users/containers, this is HIGH priority. |
| Exploit ScenarioDerived | A local attacker with access to create processes or Docker containers launches a process named "malicious' OR 1=1; DROP TABLE metrics; --" on the monitored system. Glances' monitoring cycle collects this process name and passes it to the TimescaleDB export module. The vulnerable normalize() method wraps the name in single quotes without escaping, resulting in SQL injection when the query executes against the TimescaleDB backend. The attacker achieves arbitrary SQL execution with the database credentials used by Glances, potentially exfiltrating monitoring data, tampering with metrics, or destroying time-series tables. Proof-of-concept exploit code exists per CVSS E:P metric. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Apr 29, 2026
SQL injection in Glances TimescaleDB export module allows local attackers to execute arbitrary SQL commands against the monitoring database. The vulnerability stems from unsafe string concatenation when constructing queries with system monitoring data (process names, mount points, network interfaces, container names). Proof-of-concept exploit code exists (CVSS E:P). EPSS score of 0.02% (4th percentile) indicates very low observed exploitation activity. Vendor-released patch available in version 4.5.1.
Earlier versions of this analysis (1)
SQL injection in Glances TimescaleDB export enables database compromise.
RemediationAI
Upgrade to Glances version 4.5.1 or later, which implements proper SQL parameterization in the TimescaleDB export module per commit 39161f0d6fd723d83f534b48f24cdca722573336 (https://github.com/nicolargo/glances/commit/39161f0d6fd723d83f534b48f24cdca722573336). The fix replaces string concatenation with prepared statements that safely handle special characters. For systems unable to upgrade immediately, disable the TimescaleDB export module in the Glances configuration file (set timescaledb export to false or remove the timescaledb section). Trade-off: disabling TimescaleDB export eliminates long-term metric storage and historical analysis capabilities. Alternative mitigation: restrict local user ability to create arbitrarily-named processes and containers through OS-level controls (SELinux policies, AppArmor profiles, container runtime restrictions), though this is operationally complex and may interfere with legitimate workloads. Verify the patch by inspecting the normalize() method for parameterized query usage rather than string concatenation.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Glances is a cross-platform system monitoring tool written in Python that exports metrics to various backends including TimescaleDB (PostgreSQL time-series extension). The vulnerability (CWE-89: SQL Injection) resides in the TimescaleDB export module's normalize() method, which wraps string values in single quotes but fails to escape embedded single quotes within the data. When system monitoring data containing malicious payloads (e.g., a process named "evil' OR '1'='1") is concatenated into SQL INSERT statements, the attacker-controlled strings break out of their intended context. Because Glances collects data from local system sources (process lists, filesystem mounts, network interfaces, Docker containers), an attacker with the ability to create processes or containers with crafted names can inject SQL. The affected CPE (cpe:2.3:a:nicolargo:glances:*:*:*:*:*:*:*:*) covers all Glances versions prior to 4.5.1.
Know when Glances gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
4DescriptionGitHub Advisory
Glances is an open-source system cross-platform monitoring tool. Prior to 4.5.1, The TimescaleDB export module constructs SQL queries using string concatenation with unsanitized system monitoring data. The normalize() method wraps string values in single quotes but does not escape embedded single quotes, making SQL injection trivial via attacker-controlled data such as process names, filesystem mount points, network interface names, or container names. This vulnerability is fixed in 4.5.1.
Executive ViewAI
CVE-2026-30930 is a SQL injection vulnerability in Glances TimescaleDB export module that allows local attackers to execute arbitrary SQL commands against monitoring databases through malicious system data (process names, mount points, container names). Organizations using Glances for infrastructure monitoring face potential data breach or database compromise if running unpatched versions. Patch availability and low exploitation prevalence present a manageable risk window.
Vendor-released patch: Glances version 4.5.1. If immediate patching unavailable: (1) Restrict local access to Glances service using OS-level access controls; (2) Isolate TimescaleDB instances to internal networks only; (3) disable TimescaleDB export feature until patch deployment; (4) monitor database query logs for anomalous SQL patterns.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
Affected Products (CPE)GitHub Advisory
Related Vulnerabilities in Glances Configuration and SQL Injection Flaws
View all 2The package glances before 3.2.1 are vulnerable to XML External Entity (XXE) Injection via the use of Fault to parse unt
Command injection in Glances prior to 4.5.6 allows a local unprivileged user to execute arbitrary shell commands when ad
Command injection in Glances system monitoring (versions 4.5.2 through 4.5.5) allows a local attacker with process-execu
Cross-origin data exfiltration in Glances web server allows remote unauthenticated attackers to read sensitive system in
Server-Side Request Forgery in Glances IP plugin allows authenticated attackers to force the monitoring application to s
Glances versions through 4.5.5 contain an incomplete fix for CVE-2026-53925: the `--disable-config-exec` flag correctly
Glances REST API prior to 4.5.6 exposes authenticated system monitoring data to untrusted cross-origin websites due to a
Cassandra export module in Glances prior to version 4.5.4 allows local privilege-escalated users to redirect monitoring
Credential disclosure in Glances prior to 4.5.6 allows unauthenticated remote attackers to retrieve plaintext usernames
GHSA-x46r-mf5g-xpr6
NVD
CVE.org
EPSS
VulDB
Exploit-DB