CVE-2026-53766: Chrome DevTools MCP Symlink Path Traversal Vulnerability
Chrome DevTools for agents (chrome-devtools-mcp) contains a path validation flaw that allows an attacker with local access to bypass workspace boundary restrictions. By placing symbolic links inside an authorized workspace directory that point to files outside that boundary, an attacker can read sensitive files or overwrite files they should not have access to. This circumvents the security controls meant to confine agent operations to specific directories. The vulnerability affects versions 0.24.0 through 1.0.x and is resolved in version 1.1.0.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.1 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
- Weaknesses (CWE)
- CWE-22, CWE-59
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-24 / 2026-06-26
NVD description (verbatim)
Chrome DevTools for agents (chrome-devtools-mcp) lets your coding agent control and inspect a live Chrome browser. From 0.24.0 until 1.1.0, McpContext.validatePath() enforces workspace roots by checking whether path.resolve(filePath) textually falls under one of the configured root paths. path.resolve() does not canonicalize symbolic links. As a result, a symlink inside a configured workspace root can point to a file outside that root, pass validation, and then be followed by downstream file read/write operations. This bypass applies even when the MCP client correctly declares the roots capability with a non-empty list. It is separate from the documented legacy behavior where missing roots capability allows all paths. The practical impact is a workspace-boundary bypass. In the write direction, filePath-writing tools can overwrite out-of-root files through an in-root symlink. In the read direction, upload_file can read through the symlink and send the file to the currently selected web page. This vulnerability is fixed in 1.1.0.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The McpContext.validatePath() function is intended to prevent file operations outside configured workspace roots by checking whether path.resolve(filePath) falls under one of the allowed root paths. However, path.resolve() performs textual path normalization without following or canonicalizing symbolic links. An attacker can create a symlink inside an authorized workspace root that targets a file outside the boundary. During validation, the symlink's path resolves textually to a location within the workspace, passing the check. When downstream code actually reads or writes through the symlink, the filesystem follows it to the out-of-bounds target. This affects both read operations (upload_file tool) and write operations (filePath-writing tools), creating a classic symlink-based directory traversal vulnerability. The flaw exists independently of whether the MCP client declares the roots capability; it is not related to the documented legacy behavior where an undeclared roots capability allows unrestricted access.
Business impact
Organizations using chrome-devtools-mcp to run coding agents risk unauthorized data exposure and file corruption. An attacker with local access—such as a compromised user account or malicious insider—can exfiltrate sensitive configuration files, source code, or secrets from outside the intended sandbox, or corrupt system files and application binaries. For development teams relying on this tool in CI/CD pipelines or shared development environments, the consequence is a weakened sandbox model where workspace boundaries cannot be trusted. This is particularly critical if the agent runs with elevated privileges or handles sensitive data.
Affected systems
Chrome DevTools for agents (chrome-devtools-mcp) versions 0.24.0 through 1.0.x are vulnerable. The issue does not affect version 1.1.0 or later. Any deployment running an affected version and relying on workspace root restrictions for security is at risk, particularly multi-user or CI/CD environments where code agents interact with shared filesystems.
Exploitability
Exploitability requires local access (AV:L) and low complexity; an attacker with privileges sufficient to create symbolic links within a workspace directory can trigger the vulnerability. The attack is deterministic—symlink creation and file path manipulation are straightforward. However, practical impact depends on the agent's file permissions and the sensitivity of files outside the workspace. The vulnerability is not remotely exploitable and does not require user interaction, making it a concern primarily for environments where attackers have OS-level or filesystem access.
Remediation
Upgrade chrome-devtools-mcp to version 1.1.0 or later. This version fixes validatePath() to properly canonicalize symbolic links before enforcing workspace boundaries. Organizations should verify the upgrade in testing environments first and confirm that workspace root restrictions are re-enforced post-patch. For teams unable to upgrade immediately, consider restricting filesystem permissions to prevent unprivileged users from creating symlinks within workspace directories, or isolating the agent process into a chroot or container environment.
Patch guidance
Apply version 1.1.0 or later via your package manager (typically npm for Node.js projects). The patch modifies the path validation logic to resolve symlinks to their canonical targets before checking boundaries. Test in a non-production environment to ensure compatibility with your agent workflows. If you deploy via container, rebuild images with the patched version. Verify post-upgrade that file operations respect workspace boundaries by attempting a test read through a symlink—this should now be blocked.
Detection guidance
Monitor filesystem events for symbolic link creation within workspace directories, especially unexpected symlinks that resolve outside configured roots. Review audit logs for file read/write operations that access paths outside the intended workspace. If using a SIEM, correlate file creation events (symlink setup) with subsequent file access to detect exploitation attempts. During incident response, enumerate symlinks in workspace directories and check their targets; any pointing outside the root is a red flag. Also review logs for any MCP operations that accessed or modified files matching the symlink targets.
Why prioritize this
This is a medium-severity issue requiring prompt but not emergency action. The CVSS score of 6.1 reflects moderate impact (file integrity compromise) and low attack complexity, but requires local access. Prioritize patching if your agents run in multi-user environments, CI/CD pipelines, or systems processing sensitive data. Organizations in isolated single-user development setups face lower risk. The fact that it is not yet in the KEV catalog does not diminish the need for remediation—early patching of sandbox bypasses prevents sophisticated attacks before they are widely exploited.
Risk score, explained
CVSS 6.1 (MEDIUM) reflects: Attack Vector Local (AV:L)—requires filesystem access; Attack Complexity Low (AC:L)—symlink creation is trivial; Privileges Required Low (PR:L)—normal user can create symlinks; User Interaction None (UI:N)—automated; Scope Unchanged (S:U); Confidentiality None (C:N)—symlink itself does not leak data, but read access can; Integrity High (I:H)—files outside the workspace can be overwritten; Availability Low (A:L)—write operations may corrupt availability. The score appropriately reflects a real but constrained threat, appropriate for a sandbox-bypass vulnerability in a development tool.
Frequently asked questions
Does this vulnerability affect me if I declare the roots capability in my MCP client?
Yes. The vulnerability exists regardless of whether roots capability is declared and configured with non-empty values. The flaw is in how validatePath() processes symlinks, not in the capability check itself. Declaring roots does not protect against symlink-based bypass.
Can this vulnerability be exploited remotely over the network?
No. The attack requires local filesystem access to create a symlink inside the workspace directory. It cannot be triggered through network APIs or remote input alone. However, if an attacker gains local code execution or shell access, they can trivially create the symlink and exploit the flaw.
What is the difference between this bug and the documented legacy behavior?
The legacy behavior occurs when an MCP client does not declare the roots capability at all, which conventionally allows all paths. This vulnerability is separate: even with roots properly declared, the symlink canonicalization bug allows boundary bypass. It represents a logic flaw in the validation function itself.
If I isolate the agent in a container, am I protected?
Partially. Containerization reduces the risk by limiting what files the agent can access from the host. However, if the container mounts the vulnerable workspace directory, an attacker with access inside the container can still exploit the symlink flaw to escape the logical boundary within that mount, potentially accessing sibling directories or shared volumes.
This analysis is based on the published CVE record and vendor advisory. Security characteristics, patch availability, and affected versions should always be verified against the official Chrome DevTools MCP repository and security advisories. Organizations should test patches in non-production environments before deployment. No exploit code is provided. This page is for informational purposes and does not constitute professional security advice for your specific environment. Source: NVD (public-domain), retrieved 2026-08-02. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-47277MEDIUMRuntipi Arbitrary File Read via Symlink in App Logo Endpoint
- CVE-2026-55443MEDIUMLangChain Path-Traversal File Access Vulnerability
- CVE-2026-0055MEDIUMAndroid Path Traversal in PackageInstallerService Enables Local Privilege Escalation to Device Policy Controller
- CVE-2026-34657MEDIUMPath Traversal in CAI Content Credentials c2pa-web—MEDIUM Severity
- CVE-2026-53765MEDIUMchrome-devtools-mcp Symlink File Truncation (Medium)
- CVE-2018-25393MEDIUMNavigate CMS 2.8.5 Path Traversal Vulnerability (CVSS 6.5)
- CVE-2018-25421MEDIUMOpen STA Manager 2.3 Path Traversal File Download Vulnerability
- CVE-2019-25734MEDIUMContact Form by WD CSRF & Local File Inclusion Vulnerability