
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-27967 is a symlink escape vulnerability in Zed, an open-source code editor, affecting the Agent file tools (read_file, edit_file). It allows reading and writing files outside the intended project directory when a project contains symbolic links pointing to external paths, bypassing workspace boundary and privacy protections (file_scan_exclusions, private_files). All Zed versions prior to 0.225.9 are affected. The vulnerability was published on February 25–26, 2026, and carries a CVSS v3.1 base score of 7.1 (High) (GitHub Advisory, Red Hat CVE).
The root cause is CWE-59 (Improper Link Resolution Before File Access). Zed's Agent tools validate file paths using worktree-relative paths and exclusion patterns, but Worktree::absolutize() simply concatenates path components without resolving or canonicalizing symlinks. As a result, when the OS follows a symlink during file access, it can traverse outside the project root. Critically, the codebase already tracks external symlinks via the Entry.is_external field, but this flag is never enforced in the agent tools (ReadFileTool::run, EditFileTool). The vulnerability persists even when the project is opened in Restricted Mode (untrusted project), as that mode does not prevent symlink traversal by the Agent (GitHub Advisory).
Successful exploitation allows an attacker to exfiltrate sensitive files from outside the project directory to the LLM context, including SSH private keys (~/.ssh/id_rsa), cloud credentials (~/.aws/credentials, ~/.config/gcloud/), git credentials (~/.gitconfig, ~/.git-credentials), shell history, and system files such as /etc/passwd. Additionally, the edit_file tool can be abused to write to files outside the project boundary, enabling integrity violations. Any user who opens a malicious project containing crafted symlinks and interacts with the Agent feature is at risk, making supply-chain-style attacks via malicious repositories a realistic threat scenario (GitHub Advisory).
A public proof-of-concept is included in the GitHub Security Advisory itself, demonstrating the full attack chain. The vulnerability requires local access (the victim must open a malicious project) and user interaction (the victim must invoke the Agent), which limits remote exploitability. No in-the-wild exploitation has been reported, and the vulnerability is not listed in the CISA KEV catalog. The EPSS score is approximately 0.012% (0.000120), indicating a low probability of near-term automated exploitation (GitHub Advisory, Feedly).
mkdir -p poc-symlink/docs poc-symlink/src
ln -s ~/.ssh/id_rsa poc-symlink/docs/ssh_key.txt
ln -s ~/.aws/credentials poc-symlink/docs/aws_creds.txt
ln -s /etc/passwd poc-symlink/docs/passwd_leak.txtzed .). Opening in Restricted Mode does NOT prevent exploitation.read_file on the symlinked path.docs/readme.txt -> ~/.ssh/id_rsa); unexpected access timestamps on sensitive files such as ~/.ssh/id_rsa, ~/.aws/credentials, or /etc/passwd.auditd) showing the Zed process (zed) reading files outside its project directory via symlink resolution./etc/passwd, ~/.ssh/id_rsa, ~/.aws/credentials, or ~/.gitconfig that are not within the opened project root (GitHub Advisory).Upgrade Zed to version 0.225.9 or later, which resolves the issue by enforcing the existing Entry.is_external flag in agent file tools to block access to symlinks pointing outside the project boundary. No configuration-based workaround fully mitigates the issue — notably, Restricted Mode does not prevent exploitation. As a precautionary measure, users should avoid opening untrusted repositories in Zed and refrain from using the Agent feature on projects from unknown sources until upgraded (GitHub Advisory).
The advisory was published by swannysec on GitHub on February 25, 2026, with the reporter credited as yueyueL and remediation developer as benbrandt. The vulnerability drew attention from security aggregators including Tenable (Nessus plugin 300255), Red Hat CVE tracking, and ENISA's EUVD database (EUVD-2026-8777). A Bluesky post from cyberhub.blog noted the disclosure, and the issue was covered by security news aggregator infinitsec.net. Community reaction highlighted the irony that the codebase already contained the is_external tracking field but failed to enforce it in agent tools (GitHub Advisory, Tenable).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."