{"answers":{"affected":"3 open source packages ship an affected version, including glances.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-53925 exists.","fix":"Upgrade glances to 4.5.5 or later.","what":"CVE-2026-53925 is a high-severity command injection vulnerability in nicolargo glances, published on 25 Jun 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-53925 and fix it if it is affected.\n\nWhat it is: CVE-2026-53925 is a high-severity command injection vulnerability in nicolargo glances, published on 25 Jun 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-53925 exists.\n\nAffected packages and fixed versions:\n- glances (PyPI): affected from 4.0.8; fixed in 4.5.5\n- glances (PyPI): affected from 4.0.8; fixed in 4.5.5\n- glances (PyPI): affected from 4.0.8; fixed in 4.5.5\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-53925/ (Markdown: https://insights.sbomify.com/CVE-2026-53925/index.md)","id":"CVE-2026-53925","markdown":"https://insights.sbomify.com/CVE-2026-53925/index.md","name":"CVE-2026-53925","record":{"aliases":["DEBIAN-CVE-2026-53925","GHSA-3vwc-qwhc-3mj7","PYSEC-2026-2494","UBUNTU-CVE-2026-53925"],"analysis":{"component_type":"server_software","fix_type":"upgrade","impacts":["code_execution","data_modify"],"network_reachable":"adjacent_or_local","non_default_config":true,"product_category":"System monitoring tool","requires_auth":"low_privilege","summary":"Attackers with config file access can execute arbitrary commands and write files via unsanitized operators in Glances AMP configurations.","user_interaction":"not_required","vuln_class":"command_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":7.8,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory"}],"description":"Glances is an open-source system cross-platform monitoring tool. From 4.0.8 until 4.5.5, the secure_popen() function in glances/secure.py interprets \u003e (file redirection), | (pipe), and \u0026\u0026 (command chaining) operators in command strings. These operators are applied without any validation on the target file path, piped command, or chained command. When Application Monitoring Process (AMP) modules load their command or service_cmd configuration values from glances.conf, those values are passed directly to secure_popen() with no sanitization. This allows an attacker who can modify the Glances configuration file to write arbitrary content to arbitrary filesystem paths (via \u003e), chain arbitrary commands (via \u0026\u0026), or pipe command output to arbitrary programs (via |). This vulnerability is fixed in 4.5.5.","ecosystems":["PyPI"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Glances has arbitrary file write and command execution via `secure_popen` redirection and chaining operators in AMP command configuration","id":"CVE-2026-53925","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"PyPI","product":null,"products":[],"type":"command_injection","year":"2026"},"n_packages":3,"n_references":1,"next":{"headline":"NocoDB: OAuth Tokens Persist Through Security Events","id":"CVE-2026-53926"},"packages":[{"ecosystem":"PyPI","fixed":["4.5.5"],"introduced":["4.0.8"],"last_affected":[],"package":"glances","purl":null,"source":"GHSA-3vwc-qwhc-3mj7"},{"ecosystem":"PyPI","fixed":["4.5.5"],"introduced":["4.0.8"],"last_affected":[],"package":"glances","purl":"pkg:pypi/glances","source":"GHSA-3vwc-qwhc-3mj7"},{"ecosystem":"PyPI","fixed":["4.5.5"],"introduced":["4.0.8"],"last_affected":[],"package":"glances","purl":"pkg:pypi/glances","source":"PYSEC-2026-2494"}],"prev":{"headline":"Gardens v2: Permissionless syncOutflow bypasses streaming proposal disputes","id":"CVE-2026-53924"},"products":["glances"],"published":"2026-06-25","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"PyPA Advisory Database","prefix":"PYSEC"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-06-25","vendors":["nicolargo"]},"summary":"Attackers with config file access can execute arbitrary commands and write files via unsanitized operators in Glances AMP configurations.","url":"https://insights.sbomify.com/CVE-2026-53925/"}