Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-34839

CVE-2026-34839: Glances Information Disclosure Flaw

CVE-2026-34839 is an information disclosure vulnerability in Nicolargo Glances that exposes sensitive system data through an unauthenticated REST API with permissive CORS. This article covers technical details, impact, and fixes.

Updated:

CVE-2026-34839 Overview

CVE-2026-34839 is an information disclosure vulnerability in Glances, an open-source cross-platform system monitoring tool. Versions prior to 4.5.4 expose the REST API at /api/4/* without authentication and apply a permissive Cross-Origin Resource Sharing (CORS) policy of Access-Control-Allow-Origin: *. Any malicious website visited by a user running Glances locally can issue cross-origin requests and read system telemetry from the running instance. The flaw maps to [CWE-200] (Exposure of Sensitive Information) and [CWE-306] (Missing Authentication for Critical Function). Version 4.5.4 patches the issue.

Critical Impact

A malicious website can silently exfiltrate sensitive host data — including processes, network connections, CPU, memory, and filesystem details — from a victim's local Glances instance through the browser.

Affected Products

  • Nicolargo Glances versions prior to 4.5.4
  • Glances web server component exposing /api/4/* REST endpoints
  • Deployments where Glances is reachable from a user's browser (localhost or LAN)

Discovery Timeline

  • 2026-04-21 - CVE-2026-34839 published to NVD
  • 2026-04-24 - Last updated in NVD database

Technical Details for CVE-2026-34839

Vulnerability Analysis

Glances ships a built-in web server that surfaces system metrics through a versioned REST API under /api/4/*. The server applies the header Access-Control-Allow-Origin: * to every response, instructing browsers to permit cross-origin reads from any site. The API itself requires no authentication by default. A prior advisory addressed the same permissive CORS pattern on the XML-RPC interface, but the REST API was overlooked and exposes substantially more telemetry, including process lists, network connections, sensors, filesystem layout, and Docker container metadata.

The issue is exploitable whenever a user runs Glances locally or on a host their browser can reach. Visiting a malicious page is sufficient to trigger the attack — no user interaction beyond page load is required.

Root Cause

The root cause is a combination of two design choices in the Glances web server: missing authentication on the REST API ([CWE-306]) and a wildcard CORS policy that disables the browser's same-origin protections ([CWE-200]). With both defaults in place, the browser becomes a confused deputy that authorizes data reads on behalf of any origin.

Attack Vector

An attacker hosts a page that issues fetch requests to http://127.0.0.1:61208/api/4/all or to a LAN address running Glances. Because the server returns Access-Control-Allow-Origin: *, the response body becomes readable by the attacker's JavaScript. The attacker forwards harvested data — process names, listening ports, mounted volumes, container inventories — to a remote collector. No credentials, prompts, or privileged context are required.

No public proof-of-concept exploit code is referenced in the advisory. See the GitHub Security Advisory GHSA-gfc2-9qmw-w7vh for technical details.

Detection Methods for CVE-2026-34839

Indicators of Compromise

  • Inbound HTTP requests to /api/4/* on the Glances port (default 61208) carrying an Origin header that does not match the Glances host
  • Web server access logs showing browser Referer values pointing to untrusted external domains
  • Unexpected bursts of GET requests to endpoints such as /api/4/all, /api/4/processlist, /api/4/network, or /api/4/docker

Detection Strategies

  • Inspect Glances access logs for cross-origin requests where the Origin header differs from http://localhost or the expected internal host
  • Hunt browser proxy or EDR network telemetry for outbound connections to 61208/tcp originating from browser processes
  • Alert on any Glances instance returning the Access-Control-Allow-Origin: * header on /api/4/* responses

Monitoring Recommendations

  • Continuously inventory hosts running Glances and confirm the running version is 4.5.4 or later
  • Monitor for new listeners on 61208/tcp exposed beyond loopback interfaces
  • Track DNS and HTTP egress from workstations to identify exfiltration of telemetry harvested through the local API

How to Mitigate CVE-2026-34839

Immediate Actions Required

  • Upgrade Glances to version 4.5.4 or later on every host running the web server
  • Restrict the Glances web server to the loopback interface where remote access is not required
  • Place Glances behind a reverse proxy that enforces authentication and a strict CORS allow-list

Patch Information

The maintainer fixed the issue in Glances 4.5.4 by tightening the CORS policy on the REST API. The upstream change is documented in the Glances patch commit fdfb977b and the GitHub Security Advisory GHSA-gfc2-9qmw-w7vh.

Workarounds

  • Bind Glances to 127.0.0.1 and avoid exposing port 61208 to other interfaces until patched
  • Front the service with a reverse proxy that overrides Access-Control-Allow-Origin with a specific trusted origin
  • Disable the Glances web server (-w flag) on hosts that do not require it
bash
# Configuration example: restrict Glances web server to loopback
glances -w --bind 127.0.0.1

# Verify the installed version is patched
pip show glances | grep -i version
# Expected: Version: 4.5.4 or later

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.