Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local shell on shared host
-
DeliverySpawn process named '--uid=<target>'
-
ExploitVictim invokes gotop kill on it
-
Executionpkill parses crafted name as option
-
ImpactTarget user's processes terminated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Argument sanitization
|
| Exploitation Conditions | Requires the attacker to have an existing local account/shell on the same host as the victim, and requires the victim (gotop user) to actively invoke gotop's process-kill feature against the attacker-controlled, maliciously-named process - this user interaction is the primary limiting factor. The attacker must be able to launch a process whose name begins with '--' and encodes a pkill option (such as a target UID). The flaw is in gotop's handling of process names passed to pkill at version 3.0.0; it is not remotely reachable and does not affect single-user systems where there is no distinct 'targeted user' to attack. No special gotop configuration is required beyond normal use of the kill functionality. |
| Impact | This is a genuinely low-priority issue despite being a real, confirmed vulnerability. The CVSS 4.0 base score of 4.8 (vendor-supplied vector CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L) correctly reflects limited real-world risk: exploitation requires LOCAL access (AV:L), depends on victim interaction (UI:P) - specifically the gotop user must choose to kill the attacker's maliciously-named process - and the only impact is limited availability (VA:L), with NO confidentiality or integrity impact. There is no EPSS score, no KEV listing, and no public POC referenced, so exploitation status is 'no public exploit identified at time of analysis.' All signals align consistently here - there is no conflict between CVSS, exploitation data, or description. The one notable caveat is that the product is retired/unmaintained with no fix available, so any affected deployment is permanently exposed; however, gotop is a niche terminal activity monitor, and the attack is a privilege-less local user degrading another local user's processes on a shared host, which is an uncommon and narrow threat model. This is a low-severity, bounded availability flaw, not an urgent remediation item. |
| Exploit ScenarioDerived | On a multi-user Linux host, a low-privileged local attacker starts a long-running process whose name is crafted to begin with '--' and embeds a target user's UID (e.g. '--uid=1001'). When an administrator or another user running gotop selects that process and invokes gotop's kill feature, gotop passes the name unsanitized to pkill, which interprets it as a command-line option and terminates all processes owned by the targeted UID. No public exploit code is referenced, but the technique is trivial to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 02, 2026
Local argument injection in gotop 3.0.0 allows an attacker who already holds an account and shell on the same host to terminate every process owned by a targeted user, because the tool forwards an attacker-controlled process name directly to pkill and the name is parsed as a command-line option. Exploitation depends on the victim actively selecting the maliciously named process in gotop's process-kill feature (UI:R, local only), so the impact is confined to availability on shared multi-user systems. The project is no longer actively supported and CERT-PL reports the issue has not been fixed; no public exploit identified at time of analysis, and the independent assessment rates it low severity (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L, CWE-88).
RemediationAI
There is no vendor-released patch and none is expected: CERT-PL states the product is no longer actively supported and the vulnerability has not been fixed, so upstream remediation must be treated as 'No vendor-released patch identified at time of analysis' for gotop 3.0.0 and later builds. The most effective compensating control is to stop using gotop's in-UI process-kill feature entirely, or to build a local fork that fixes the invocation: pass an explicit end-of-options separator before the name (pkill -- <name>), use exact-match mode (pkill -x -- <name>) and validate that the name does not begin with '-', or better, bypass pkill altogether and call kill(2) against the PID already known from the process listing so no name ever reaches a shell or argument parser. The trade-off is obvious: the kill action is disabled by the first option and the latter two require maintaining a private patch to an abandoned codebase, which may conflict with future dependency or Go toolchain updates. Secondary hardening, useful because the attacker must first create a process on the same host, includes restricting local account creation and execution rights on multi-user hosts, running gotop from dedicated monitoring accounts on single-tenant systems, and detecting processes whose names begin with '--' or otherwise mimic pkill options. If gotop must be retained unpatched, isolate it from users who can influence process names (containers or namespaces with restricted process visibility also limit which names gotop can see and act on, at the cost of reduced visibility in the monitor). Advisory references: https://cert.pl/en/posts/2026/10/CVE-2026-91784 and https://github.com/cjbassi/gotop.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
gotop is a Go-based terminal activity monitor (a fork of gtop) that enumerates running processes and offers an in-UI kill action. That action is implemented by shelling out to pkill with the process name taken from the process list, and the name is passed through without sanitization or an end-of-options delimiter. This is the classic CWE-88 (Improper Neutralization of Argument Delimiters in a Command) pattern: untrusted data becomes a command-line option rather than data. A local attacker who can launch a process whose name begins with '--' and encodes a pkill option (for example a target user's UID) turns the victim's kill action into a bulk kill against that user's processes. The flaw is confined to gotop 3.0.0 (confirmed), it is not reachable over the network, and the CPE cpe:2.3:a:cjbassi:gotop:*:*:*:*:*:*:*:* carries a wildcard version, so the upstream maintainers consider other builds potentially affected as well. Because the vulnerable path is the local pkill invocation, the exposure is limited to hosts where a distinct victim account operates gotop and where the attacker can plant the crafted process first.
Know when Gotop 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:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Local-only (AV:L) with no attacker privileges needed to spawn a process (PR:N), but the victim must trigger the kill action (UI:R); impact is limited availability loss only (A:L), no C/I.
Primary rating from Vendor (CERT-PL).
CVSS VectorVendor: CERT-PL
DescriptionCVE.org
cjbassi/gotop is vulnerable to local argument injection via process termination functionality. The process name is passed directly to pkill without sanitization. A local attacker can create a process with a crafted name beginning with -- (e.g. containing a target user's UID). When the user running gotop invokes the kill feature on that process, pkill interprets the crafted name as a command-line option, terminating all processes owned by the targeted user.
Product is no longer actively supported and the vulnerabilities have not been fixed. Vulnerability was confirmed at version 3.0.0; other versions were not tested but may also be affected.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
EUVD-2026-91318
GHSA-pm6f-qrm6-v363
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB