Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft filename with shell metacharacters
-
DeliveryDeliver via repo/share/archive
-
ExploitVictim opens path in Emacs TRAMP
-
ExecutionRegex bypass injects shell command
-
ImpactArbitrary code execution as user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation completeness
|
| Exploitation Conditions | Exploitation requires that the victim use Emacs TRAMP to process an attacker-controlled filename: the malicious path's username component must contain shell metacharacters that bypass the incomplete tramp-user-regexp disallow list. Concretely, the attacker needs a way to get a crafted filename in front of the victim (a repository, directory listing, shared mount, or archive), and the victim must open, complete, or otherwise cause Emacs/TRAMP to evaluate that path. Limiting factors: the flaw is local (AV:L), affects only installations using TRAMP remote-file functionality, and realistically depends on user interaction with the malicious path; code runs only with the privileges of the Emacs user. It does not affect default non-TRAMP editing of trusted local files. |
| Impact | This is a genuine local/user-triggered code-execution flaw rather than a remotely-wormable crisis. The input CVSS of 7.8 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) reflects full confidentiality, integrity and availability loss via OS command injection, consistent with code execution in the context of the Emacs user. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation signals are weak: this is 'no public exploit identified at time of analysis.' A notable tension exists in the CVSS vector itself: it specifies UI:N (no user interaction), yet the vulnerability is triggered by TRAMP processing a crafted filename, which in practice requires a victim to open or otherwise cause Emacs to evaluate that path - behavior that normally warrants UI:R. Verify the interaction requirement, as it materially changes real-world risk. A second important signal is that this is explicitly an incomplete fix for CVE-2026-79992 (tramp-user-regexp still has gaps), meaning the attack surface is already understood by researchers and the regex-bypass pattern is public conceptually even if weaponized code is not. Net: a real priority for developer/analyst workstations that use TRAMP, but not an internet-facing mass-exploitation threat - prioritize patching to Emacs 31.2 / TRAMP post-2.8.2 on multi-user or untrusted-content-handling hosts. |
| Exploit ScenarioDerived | An attacker plants a file or directory whose name contains shell metacharacters crafted to slip past the incomplete tramp-user-regexp validation (for example inside a git repository, shared network folder, or tarball). When a victim opens or lists that path in Emacs with TRAMP engaged, the malformed username portion of the remote filename is passed to a shell, executing arbitrary OS commands as the victim. No public exploit code was identified, but because this is an incomplete fix for CVE-2026-79992 the bypass technique is already publicly documented. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
OS command injection in GNU Emacs's TRAMP remote-file library (Emacs releases before 31.2, TRAMP through 2.8.2) lets an attacker who can get a crafted filename in front of a user execute arbitrary shell commands with that user's privileges, because tramp-user-regexp relies on an incomplete denylist of dangerous shell characters. This is a follow-on defect to CVE-2026-79992, whose fix did not cover all dangerous inputs. Exploitation is local, requires user interaction (the victim must open, complete, or otherwise have Emacs/TRAMP evaluate the malicious path), and only affects installations that use TRAMP remote-file functionality; no public exploit code and no confirmed active exploitation were identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade to GNU Emacs 31.2, which is the first release not listed as affected by this issue; the fix for the root cause (an expanded tramp-user-regexp denylist or equivalent) is documented in the patch reference at https://www.openwall.com/lists/oss-security/2026/10/11/1, and context is in https://www.openwall.com/lists/oss-security/2026/08/21/1. TRAMP is affected through 2.8.2, and because the provided data does not state an exact fixed standalone TRAMP version, users who load a separately installed TRAMP (GNU ELPA or the tarball at https://ftp.gnu.org/gnu/tramp/tramp-2.8.2.tar.gz) should confirm the patched release against the vendor advisory rather than assuming the Emacs upgrade covers them. Where upgrading immediately is not possible, the most effective compensating control is to stop TRAMP from evaluating untrusted paths: disable remote-file handling entirely (set tramp-mode to nil, or unbind the TRAMP remote file-name handlers) so opening a crafted /method:user@host:path is never shell-interpolated - the trade-off is loss of remote editing in that Emacs session. A narrower mitigation is to avoid opening, completing, or previewing filenames from untrusted sources (cloned repositories, directory listings, shared mounts, archives) inside Emacs, which removes the delivery path but relies on user discipline and does not fix the underlying denylist. Restricting the Emacs user's shell environment (a hardened, non-interactive shell, or running Emacs as a low-privileged account) limits post-exploitation impact but does not prevent the injection itself. Because no public exploit code and no confirmed active exploitation were identified at time of analysis, patching can be scheduled through normal change control, prioritized on workstations and accounts where Emacs TRAMP is routinely used to browse files of unknown provenance.
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
TRAMP (Transparent Remote Access, Multiple Protocol) is the remote-file subsystem bundled with GNU Emacs, which parses remote file names of the form /method:user@host:path and interpolates their components into shell command lines when it spawns helper programs (ssh, rsh, or a local shell method). The root cause class is CWE-184, Incomplete List of Disallowed Inputs: rather than allowlisting safe characters, tramp-user-regexp attempts to block dangerous ones, and the denylist is missing characters or sequences that a shell still interprets, so a filename whose user component carries shell metacharacters flows into a shell invocation and is executed. The advisory explicitly states this is an incomplete fix for CVE-2026-79992, meaning the earlier denylist hardening was bypassed by inputs it failed to enumerate. Affected product data resolves to CPE cpe:2.3:a:gnu:emacs:*:*:*:*:*:*:*:*, consistent with a wildcard match across Emacs versions rather than a single build. Scoring note: the published vector (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) and our assessed vector (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) agree that the attack is local, has no scope change, and yields high confidentiality, integrity, and availability impact, but differ on prerequisites - we assess no authentication is needed while user interaction is required, since the victim must cause Emacs/TRAMP to evaluate the attacker-supplied path. Any code that runs executes only with the privileges of the Emacs user, so blast radius is the invoking account, not the system, and default non-TRAMP editing of trusted local files is unaffected.
Know when Emacs 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
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attacker supplies a crafted filename needing no privileges (PR:N) that the victim must open in TRAMP (UI:R); processing is local (AV:L) and injection yields full code execution as the user (C/I/A:H).
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
DescriptionCVE.org
GNU Emacs before 31.2 (and TRAMP through 2.8.2) allows OS command injection via a filename because tramp-user-regexp has an incomplete list of disallowed inputs. NOTE: this issue exists because of an incomplete fix for CVE-2026-79992.
Executive ViewAI
A command-injection flaw in GNU Emacs's TRAMP remote-file library (all Emacs releases before 31.2, TRAMP through 2.8.2) could allow an attacker to run arbitrary shell commands with the privileges of any employee who opens or completes a malicious remote file path. Exploitation requires local access and victim interaction rather than remote unauthenticated access, so exposure is concentrated among developers, engineers, and administrators who use Emacs TRAMP to edit files on remote systems. Because TRAMP is commonly used in privileged engineering and infrastructure workflows, a successful exploit could compromise developer credentials, source code, and access to production systems, making timely upgrades of affected installations a priority.
Apply vendor patch.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Untrusted search path vulnerability in EDE in CEDET before 1.0.1, as used in GNU Emacs before 23.4 and other products, a
In Emacs before 29.4, org-link-expand-abbrev in lisp/ol.el expands a %(...) link abbrev even when it specifies an unsafe
GNU Emacs before 25.3 allows remote attackers to execute arbitrary code via email with crafted "Content-Type: text/enric
In elisp-mode.el in GNU Emacs before 30.1, a user who chooses to invoke elisp-completion-at-point (for code completion)
Code execution in GNU Emacs versions prior to 31.2 occurs when Flymake performs on-the-fly syntax checking with a langua
In Emacs before 29.3, arbitrary Lisp code is evaluated as part of turning on Org mode. Rated high severity (CVSS 7.8), t
A flaw was found in the Emacs text editor. Rated high severity (CVSS 7.8), this vulnerability is low attack complexity.
emacsclient-mail.desktop in Emacs 28.1 through 28.2 is vulnerable to Emacs Lisp code injections through a crafted mailto
emacsclient-mail.desktop in Emacs 28.1 through 28.2 is vulnerable to shell command injections through a crafted mailto:
GNU Emacs through 28.2 allows attackers to execute commands via shell metacharacters in the name of a source-code file,
Emacs 24.4 allows remote attackers to bypass security restrictions. Rated high severity (CVSS 7.5), this vulnerability i
Arbitrary code execution in GNU Emacs 28.1 through 31.1 is triggered simply by opening a crafted file: an untrusted read
EUVD-2026-97124
GHSA-f2f9-wp9v-23mf
NVD
CVE.org
EPSS
VulDB
Exploit-DB