Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
AV:L because the MCP server listens locally; PR:N as the MCP protocol requires no OS-level authentication; C:H for arbitrary file read via browser_load_state; A:N as availability disruption is not the primary attack mechanism.
Primary rating from Vendor (https://github.com/That1Drifter/browse-mcp).
CVSS VectorVendor: https://github.com/That1Drifter/browse-mcp
Lifecycle Timeline
6DescriptionCVE.org
Impact
browser_download wrote a fetched file to join(save_dir, filename) with no validation of save_dir, and browser_save_state / browser_load_state honored an explicit path unchanged. The MCP caller controls these arguments (a malicious MCP client, or an autonomous agent steered by indirect prompt injection on a visited page), so an attacker could supply an arbitrary save_dir (or state path) together with a URL whose response body became the file contents, writing attacker-controlled bytes to any path the process can reach (for example ~/.bashrc, an autostart entry, or a cron file). That is an arbitrary file write that can lead to host code execution. The force_fetch fallback additionally used a raw fetch() that bypassed the BROWSE_MCP_ALLOWED_ORIGINS origin fence.
Estimated severity: CVSS 3.1 around 7.8 (High) for the local / agent-mediated case.
Patches
Fixed in 0.8.2. save_dir is confined under the download root (~/.browse-mcp/downloads) and the explicit state path under ~/.browse-mcp/state; absolute paths and .. escapes are rejected, and download filenames are reduced to a bare basename. force_fetch now also honors the origin fence. Data roots remain relocatable via BROWSE_MCP_HOME. Upgrade to browse-mcp 0.8.2.
Workarounds
Restrict the exposed tools with BROWSE_MCP_TOOLS to a set that excludes browser_download, browser_save_state, and browser_load_state (for example the hardened recipe in SECURITY.md). Note that the allowlist hides the tools from an agent but does not stop a malicious MCP client from calling them by name, so upgrading is the real fix.
- Reported privately by novice-22.
AnalysisAI
Arbitrary file write in browse-mcp (npm, versions ≤ 0.8.1) allows a malicious MCP client - or an autonomous LLM agent steered by indirect prompt injection on a visited page - to write attacker-controlled bytes to any filesystem path the process can reach, including shell init files, autostart entries, and cron files, enabling host code execution. The root cause is CWE-22 path traversal in browser_download (unvalidated save_dir argument) and browser_save_state/browser_load_state (unvalidated path argument), compounded by the force_fetch fallback bypassing the BROWSE_MCP_ALLOWED_ORIGINS origin fence entirely. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | The attacker must control arguments passed to the browser_download, browser_save_state, or browser_load_state MCP tools. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The provided CVSS 4.0 base score is 8.6 (High) with vector AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H, reflecting a local attack vector with low complexity and no authentication requirement at the MCP protocol level. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Upgrade browse-mcp to version 0.8.2, the vendor-confirmed patch released 2026-06-13 (PR #58, commit 5352a4a56f626254b445bfa07e4bb48c5aad15c1). … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, inventory all deployments of browse-mcp in production and development environments, particularly those supporting autonomous agents or untrusted MCP client connections. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same weakness CWE-22 – Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-65581
GHSA-m9mq-7m7q-xc6p