Summary
Glances: XML-RPC Server Missing Host Header Validation Enables DNS Rebinding Attack
Impact
Vulnerability type: Insufficient Verification of Data Authenticity / DNS Rebinding (CWE-350)
Who is impacted: Any user whose browser can reach a Glances XML-RPC server and who can be lured to visit an attacker controlled web page. This includes deployments where:
- Glances is bound to
127.0.0.1(loopback), DNS rebinding bypasses the loopback restriction. - Glances is bound to a LAN IP, any browser on that LAN is at risk.
- Glances is exposed on a public IP, any browser on the internet is at risk.
Data exposed through the XML-RPC API includes: hostname, OS and kernel version, full process list with command-line arguments (frequently containing API keys, database passwords, and access tokens passed as environment variables or CLI flags), CPU/memory/disk/network statistics, open file descriptors, listening ports, and Docker/Kubernetes container metadata.
Impact:
- Confidentiality: High, complete system monitoring data readable remotely without credentials.
- Integrity: None, read-only XML-RPC API.
- Availability: None, no denial-of-service component.
The attack is amplified by the companion CORS wildcard issue (vuln03): without Access-Control-Allow-Origin: *, the browser would still block the response read. Both issues must be fixed together for effective remediation.
CVE-2026-46611 has a CVSS score of 5.3 (Medium). The vector is network-reachable, no privileges required, and user interaction required. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (4.5.5); upgrading removes the vulnerable code path.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Already deployed Kodem?
See it in your environmentNew to Kodem? Get a demo →Remediation advice
Option 1, Add Host validation to the XML-RPC handler (preferred)
Add a webui_allowed_hosts (or new xmlrpc_allowed_hosts) configuration key, and validate the Host header in GlancesXMLRPCHandler:
# server.py
class GlancesXMLRPCHandler(SimpleXMLRPCRequestHandler, GlancesAPI):
allowed_hosts: list[str] = [] # populated from config
def parse_request(self) -> bool:
if not super().parse_request():
return False
if self.allowed_hosts:
host = self.headers.get('Host', '').split(':')[0]
if host not in self.allowed_hosts:
self.send_error(400, 'Bad Request: invalid Host header')
return False
return True
Populate allowed_hosts from the existing webui_allowed_hosts config key (already used by the REST server), so operators have a single knob.
Option 2, Deprecate and remove the XML-RPC server
The XML-RPC server is a legacy interface. The REST API (glances -w) provides a superset of functionality, is actively maintained, and has all current security controls. Deprecating the XML-RPC server in the next major release and directing users to the REST API would eliminate this attack surface entirely.
Frequently Asked Questions
- What is CVE-2026-46611? CVE-2026-46611 is a medium-severity security vulnerability in glances (pip), affecting versions < 4.5.5. It is fixed in 4.5.5.
- How severe is CVE-2026-46611? CVE-2026-46611 has a CVSS score of 5.3 (Medium). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
- Which versions of glances are affected by CVE-2026-46611? glances (pip) versions < 4.5.5 is affected.
- Is there a fix for CVE-2026-46611? Yes. CVE-2026-46611 is fixed in 4.5.5. Upgrade to this version or later.
- Is CVE-2026-46611 exploitable, and should I be worried? Whether CVE-2026-46611 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether CVE-2026-46611 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix CVE-2026-46611? Upgrade
glancesto 4.5.5 or later.