Zed
CVE-2025-68432
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSeed malicious .zed/settings.json in repo
-
DeliveryVictim opens untrusted project in Zed
-
ExploitCrafted LSP config parsed on file open
-
ExecutionShell command launched as language server
-
ImpactArbitrary code executes with user privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to open, in a vulnerable Zed version (< 0.218.2-pre), a project containing an attacker-controlled .zed/settings.json whose LSP configuration embeds shell commands; code runs only when the user opens a project file that matches an LSP entry, so a corresponding language type/file must be present and the user must not review the settings beforehand. Limiting factors: mandatory user interaction (opening the untrusted project), no remote/network vector, and the fix (worktree trust mechanism) or the documented workaround (manually reviewing .zed/settings.json before opening new projects) neutralizes the condition. |
| Impact | This is a moderate-severity, interaction-dependent code execution flaw rather than an internet-facing emergency. The CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:R, base 7.3 HIGH) correctly captures that exploitation is local and requires the victim to open a malicious project - there is no network attack surface. A public exploit path exists (GitHub Security Advisory GHSA-29cp-2hmh-hcxj is flagged as an exploit reference), so publicly available exploit code exists, but this CVE is NOT in CISA KEV and no EPSS score was supplied, so there is no evidence of active or widespread exploitation. Note a signal tension worth flagging: the official vector uses PR:L, yet the attacker needs no privileges on the victim's host - they only need to seed attacker-controlled content into a repository the victim later opens; the real gating factor is user interaction (UI:R), not privilege. Impact is high across confidentiality, integrity and availability because the payload runs with the full privileges of the user running the IDE. Net: a real but targeted supply-chain/social-engineering style risk (malicious or compromised repositories), prioritized by whether your developers open untrusted projects, not a mass-exploitable remote vulnerability. |
| Exploit ScenarioDerived | An attacker publishes or contributes to a repository containing a crafted .zed/settings.json that defines a Language Server Protocol entry invoking arbitrary shell commands. When a developer clones the project and opens a matching file in Zed (versions before 0.218.2-pre) without reviewing the settings, the configured 'language server' command executes on the host with the user's privileges. Public exploit detail is available via the GitHub Security Advisory, lowering the effort to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Arbitrary code execution in the Zed code editor (all versions prior to 0.218.2-pre) lets a project's .zed/settings.json define LSP language server entries that embed shell commands, which then execute on the host with the privileges of the user running the IDE. Publicly available exploit code exists, but exploitation is local and interaction-dependent: the victim must open an attacker-seeded project and open a file matching one of the malicious LSP entries without first reviewing the project settings. The assessed vector (AV:L/AC:L/PR:N/UI:R) reflects a moderate-severity, interaction-dependent code execution flaw rather than an internet-facing emergency, and both the upstream worktree trust fix and the documented manual-review workaround neutralize the condition.
RemediationAI
Vendor-released patch: upgrade to Zed 0.218.2-pre or later, which implements a worktree trust mechanism so project-local LSP configuration is no longer implicitly trusted; see the GitHub advisory GHSA-29cp-2hmh-hcxj and the vendor post at https://zed.dev/blog/secure-by-default for details. If upgrading immediately is not possible, the documented compensating control is to treat every new repository as untrusted: inspect ./zed/settings.json (and the dot-directory variants Zed may read) before opening the project in Zed and refuse to open projects whose language server entries reference unexpected executables, shell pipelines, or command chaining metacharacters - the trade-off being that this is a manual, human-judgment control that fails silently if a reviewer skips it. Additional hardening with clear trade-offs includes opening only repositories from trusted sources or in an OS-level sandbox/container with restricted filesystem and network access, running Zed under a low-privilege account that cannot reach developer credentials or SSH keys (which limits post-exploitation impact but can break tooling that expects the user's normal environment), and stripping or CI-blocking the project settings file in checkouts of third-party code (which prevents the trigger but also disables any legitimate shared LSP configuration the project intended to distribute).
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-77 (improper neutralization of special elements used in a command), specifically command injection through trusted configuration. Zed loads Language Server Protocol (LSP) configuration from a project-scoped settings file at ./zed/settings.json (case variants such as .zed/settings.json in the advisory wording), and the language server definition format permits specifying the command used to launch the server. Because project-local settings were historically treated as trusted input, a repository could ship a language server entry whose command string contains arbitrary shell payload, causing execution when Zed initializes that server for a matching file type. The vulnerability spans the whole Zed product line as captured by the CPE cpe:2.3:a:zed:zed:*:*:*:*:*:*:*:*, i.e. every build before the 0.218.2-pre fix, which introduces a worktree trust mechanism that gates whether project-local LSP configuration is honored. There is no network or protocol-level exploitation path in the assessed vector: the attack surface is the local project workspace plus the LSP configuration parsing/execution pipeline, and the CVSS vectors provided by the vendor/NVD (PR:L) and this assessment (PR:N) differ only on the privileges-required metric, not on the local, user-interaction-required nature of the flaw.
Know when Zed 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:R/S:U/C:H/I:H/A:H
AV:L and UI:R because the victim must locally open a malicious project; PR:N since the attacker needs no privileges on the host, only attacker-supplied repo content; C/I/A:H from code execution as the user.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
Zed, a code editor, has an aribtrary code execution vulnerability in versions prior to 0.218.2-pre. The Zed IDE loads Language Server Protocol (LSP) configurations from the settings.json file located within a project’s .zed subdirectory. A malicious LSP configuration can contain arbitrary shell commands that run on the host system with the privileges of the user running the IDE. This can be triggered when a user opens project file for which there is an LSP entry. A concerted effort by an attacker to seed a project settings file (./zed/settings.json) with malicious language server configurations could result in arbitrary code execution with the user's privileges if the user opens the project in Zed without reviewing the contents. Version 0.218.2-pre fixes the issue by implementing worktree trust mechanism. As a workaround, users should carefully review the contents of project settings files (./zed/settings.json) before opening new projects in Zed.
Executive ViewAI
A code-execution flaw in the Zed code editor (all versions prior to 0.218.2-pre) lets a malicious project configuration file run shell commands on a developer's workstation when that project is opened and a matching file is accessed. Only engineers running Zed who open untrusted or externally sourced repositories are exposed, but successful exploitation runs with the developer's own privileges, potentially exposing source code, credentials, and trusted access into internal systems. Publicly available exploit code exists, no confirmed actively exploited (CISA KEV) activity has been identified, and the attack requires a local, interaction-dependent path rather than remote network access.
No vendor-released patch identified at time of analysis. Interim mitigations: do not open untrusted or externally sourced projects in Zed; review .zed/settings.json for LSP language server entries embedding shell commands before opening a project; add repository-level scanning or review to detect such entries in incoming projects; and enforce the upstream worktree trust behavior and documented manual-review workaround until a build at or above 0.218.2-pre is adopted.
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.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Affected Products (CPE)NVD
Zed, a code editor, has an extension installer allows tar/gzip downloads. [CVSS 8.8 HIGH]
Zed code editor versions prior to 0.224.4 contain a path traversal vulnerability in ZIP extraction that fails to sanitiz
Arbitrary code execution in the Zed code editor affects all versions prior to 0.218.2-pre, where Model Context Protocol
Zed code editor versions before 0.225.9 fail to properly validate symbolic links in Agent file tools, allowing attackers
Zed Editor versions prior to 0.219.4 fail to display tool invocation parameters during permission prompts or after execu
A directory traversal vulnerability with remote code execution in Prim'X Zed!. Rated critical severity (CVSS 9.8), this
Remote code execution in Zed code editor versions prior to 0.227.1 occurs when a user opens a folder containing a malici
Arbitrary code execution in the Zed code editor (versions prior to 0.229.0) is possible by abusing its terminal tool per
Command injection in Zed code editor versions prior to 0.229.0 allows bypass of the terminal tool's permission allowlist
Remote command execution in Zed code editor versions prior to 0.227.1 occurs when opening SSH or WSL remote terminals be
By default, .ZED containers produced by PRIMX ZED!. Rated high severity (CVSS 7.5), this vulnerability is remotely explo
We are tasked to synthesize data from multiple intelligence sources about CVE-2026-44462 into a comprehensive JSON analy
NVD
CVE.org
EPSS
GitHub
Exploit-DB