CVE-2026-53765: chrome-devtools-mcp Symlink File Truncation (Medium)
Chrome DevTools for agents (chrome-devtools-mcp) is a tool that allows coding agents to control and inspect a live Chrome browser. Versions 0.20.0 through 1.0.x contain a local privilege escalation vulnerability affecting macOS and Linux systems. An attacker with local access to the same machine can exploit predictable file paths to write a symlink that causes the application to overwrite files belonging to higher-privileged users when the daemon starts. The vulnerability has been fixed 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-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.20.0 until 1.1.0, The chrome-devtools-mcp daemon writes its PID file with fs.writeFileSync() to a deterministic runtime path. On typical macOS environments, and on Linux sessions where $XDG_RUNTIME_DIR is unset, that runtime path falls back to /tmp/chrome-devtools-mcp-<uid>/daemon.pid. Because the write does not use O_NOFOLLOW, a local low-privilege user on the same POSIX host can pre-create /tmp/chrome-devtools-mcp-<victim_uid>/daemon.pid as a symlink to a file writable by the victim. When the victim later starts daemon mode, fs.writeFileSync() follows the symlink and truncates the target file to the daemon PID string. This vulnerability is fixed in 1.1.0.
1 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability stems from insecure file handling in the chrome-devtools-mcp daemon's PID file creation. The daemon uses fs.writeFileSync() to write its process ID to a deterministic path: /tmp/chrome-devtools-mcp-<uid>/daemon.pid on macOS and Linux systems without XDG_RUNTIME_DIR set. The critical flaw is the absence of the O_NOFOLLOW flag during the write operation, which means the kernel will follow symlinks. A local attacker can pre-create a symlink at that path pointing to any file writable by the target user. When the victim starts the daemon, the fs.writeFileSync() call follows the symlink and truncates the destination file, replacing its contents with the daemon's PID. This is a classic symlink-following race condition (CWE-59).
Business impact
Organizations using chrome-devtools-mcp in multi-user Linux or macOS environments face risk of data loss and service disruption. An unprivileged user can corrupt or overwrite files belonging to other users on the system, potentially affecting configuration files, credentials, or application state. In environments where agents run with elevated privileges or where shared systems host sensitive workloads, this could lead to unauthorized modification of important files. Development teams and AI/ML operations relying on this tool should prioritize patching to prevent local users from interfering with each other's workflows or critical system files.
Affected systems
Google chrome-devtools-mcp versions 0.20.0 through 1.0.x are affected. The vulnerability is most relevant on: macOS systems running any version of the affected software, Linux systems where the XDG_RUNTIME_DIR environment variable is not set (causing fallback to /tmp). Windows systems are not affected because they do not use POSIX filesystem semantics or /tmp paths. Environments with strong local access controls or isolated user accounts may see reduced risk, but shared development machines and multi-tenant systems should be considered high-priority targets.
Exploitability
Exploitability is straightforward for attackers with local system access. The attack requires no elevated privileges, no user interaction, and no complex race conditions—only the ability to create a directory and symlink in /tmp before the victim starts the daemon. The predictable path and timing-independent nature of the vulnerability make it highly reliable. However, exploitability is limited to local attacks; remote attackers cannot leverage this directly. An attacker would need prior shell access or a way to write files to the target system.
Remediation
Users must upgrade chrome-devtools-mcp to version 1.1.0 or later, which implements secure file handling for the PID file write. Organizations should: (1) identify all systems running versions 0.20.0 through 1.0.x by checking installed versions and running processes; (2) apply the patch immediately in development and production environments; (3) restart any running daemon instances after patching; (4) review local access policies on shared systems to limit the blast radius of local privilege escalation vulnerabilities. No workarounds are available for earlier versions.
Patch guidance
Upgrade to chrome-devtools-mcp version 1.1.0 or later. Users of npm-based installations should run `npm install chrome-devtools-mcp@latest` or specify `chrome-devtools-mcp@^1.1.0` in package.json and reinstall. For containerized deployments, update the Dockerfile or base image to reference the patched version and rebuild containers. After patching, restart any daemon processes to ensure the new code paths are active. Verify the upgrade by checking the version with `npm list chrome-devtools-mcp` and confirming daemon startup logs show no errors.
Detection guidance
Monitor for exploitation attempts by auditing /tmp for unexpected symlinks or directories matching the pattern chrome-devtools-mcp-* on macOS and Linux systems. Log and alert on suspicious fs.writeFileSync() calls or file truncation events affecting user configuration or credential files. Check process logs for daemon startup failures or PID file errors, which may indicate failed exploitation. In multi-user environments, periodically inventory /tmp to detect malicious symlinks. Collect version information across all systems using the tool to identify unpatched instances. Consider deploying file integrity monitoring on critical files in user home directories to detect unauthorized overwrites.
Why prioritize this
This vulnerability merits prompt patching because it enables local file corruption with moderate impact. Although exploitability requires local access and the CVSS score is Medium (6.1), the attack surface is broad in shared development environments, and the consequences—silent file overwrites—are difficult to detect. The fix is simple and carries minimal risk, making this an efficient use of remediation effort. However, organizations with strong local access controls or isolated user accounts may deprioritize this relative to remote code execution vulnerabilities. Prioritize systems supporting multi-user agent workloads or shared CI/CD platforms.
Risk score, explained
The CVSS 3.1 score of 6.1 (MEDIUM) reflects: Attack Vector Local (no remote exploitation), Access Complexity Low (trivial to exploit once local access exists), Privilege Requirements Low (any local user), User Interaction None (fully automatic), Scope Unchanged (impact contained to the local system), Confidentiality None (no sensitive data exposure), Integrity High (files can be overwritten), Availability Low (potential service disruption from file corruption). The score correctly captures the threat as a local file manipulation vulnerability with meaningful but not critical impact.
Frequently asked questions
Does this vulnerability affect Windows systems running chrome-devtools-mcp?
No. Windows does not use POSIX filesystem semantics, /tmp paths, or the O_NOFOLLOW flag in the same manner. The vulnerability is specific to macOS and Linux systems.
Can this vulnerability be exploited remotely?
No. The attack requires local filesystem access to create a symlink in /tmp on the target system. An attacker must already have shell access or a way to write files locally.
What is the impact if an attacker exploits this before I patch?
An attacker can overwrite files in directories where the targeted user has write permissions. This could corrupt configuration files, application state, or in worst cases, credentials or sensitive data. The extent of damage depends on which files the attacker chooses to target.
Do I need to take any action after upgrading to 1.1.0?
Restart any running daemon processes to ensure they use the patched code. Verify the upgrade by checking the version number. No additional configuration changes are required unless you had previously worked around this issue.
This analysis is based on the CVE record and vendor advisory data available as of the publication date. Organizations should verify patch availability and compatibility with their specific deployment configurations before applying updates. CVSS scores represent base metrics without regard to environmental factors; your organization's actual risk may differ based on local access controls, system architecture, and the sensitivity of files on affected systems. For the latest guidance, consult the official Google security advisory and chrome-devtools-mcp release notes. Source: NVD (public-domain), retrieved 2026-08-02. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-53766MEDIUMChrome DevTools MCP Symlink Path Traversal Vulnerability
- CVE-2025-46293MEDIUMmacOS Symlink Traversal Allows Unauthorized Data Access
- CVE-2026-11322MEDIUMHermes WebUI Path Traversal Vulnerability – Credential Exposure Risk
- CVE-2026-11853MEDIUMDebusine Arbitrary Symlink Creation via Manifest Path Traversal
- CVE-2026-28262MEDIUMDell iDRAC Tools Symlink Follow Information Tampering Vulnerability
- CVE-2026-40861MEDIUMApache Airflow Path Traversal – Log Directory Symlink and Directory Escape Vulnerability
- CVE-2026-44275MEDIUMDell/Alienware Purchased Apps Link Following Vulnerability (CVSS 6.3)
- CVE-2026-45384MEDIUMArbitrary File Overwrite in bit7z via Symlink Attack