Skip to main content

k6 MCP Server CVE-2026-89039

| EUVDEUVD-2026-92434 MEDIUM
Path Traversal (CWE-22)
2026-10-05 GRAFANA GHSA-ffg3-vfrj-4mjj
6.5
CVSS 3.1 · Vendor: GRAFANA
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain access to k6 MCP server session
  2. Delivery
    Invoke convert_playwright_script with bare/~ path
  3. Exploit
    Path resolved without directory restriction
  4. Execution
    Server reads arbitrary file as service user
  5. Impact
    Secret contents returned in prompt response

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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 ability to invoke the convert_playwright_script prompt on the k6 MCP server and supplying the playwright_script argument as a bare path (not the documented '@'-prefixed form) or a '~'-prefixed path, which reaches an undocumented code path that performs no working-directory restriction; the '~' form is expanded to the home directory, making files like SSH private keys directly addressable. The working-directory restriction on the '@' form is also bypassable by placing a symbolic link inside the working directory that points outside it, because the path is not canonicalized before the check. Limiting factors: the attacker must already be able to invoke prompts on the server (PR:L - not anonymous), disclosure is bounded to files readable by the OS user running the server, and installations on v0.3.0/v0.4.0 have no restriction at all while later affected versions are exploitable only via the bare/'~'/symlink bypass.

Impact

This is a moderate-severity information-disclosure flaw whose signals are internally consistent but point to limited mass-exploitation risk. The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, base 6.5) indicates a low-privilege actor who can invoke the MCP prompt can reliably read any file the server user can read, with high confidentiality impact and no integrity or availability impact - matching the CWE-22 path-traversal description. No EPSS score, CISA KEV listing, POC, or SSVC decision data was supplied, so there is no evidence of active exploitation or weaponization; status is best characterized as no public exploit identified at time of analysis. One nuance worth verifying: the CVSS marks AV:N, but MCP servers are frequently invoked over local/stdio transports, so real-world attack surface depends heavily on whether the server is exposed beyond localhost - verify the deployment transport with the operator. The PR:L is appropriate because exploitation requires the ability to invoke the prompt (i.e., a client already connected/authorized to the MCP server), which meaningfully narrows the realistic attacker population to those who already have some access to the host or MCP session. Net: a real but not urgent priority - high impact on secrets (SSH keys, credentials) if reachable, offset by the prerequisite of MCP access and the absence of any exploitation telemetry.

Exploit ScenarioDerived

A user or tool with access to the k6 MCP server session invokes the convert_playwright_script prompt supplying a bare (non-'@') path such as ~/.ssh/id_rsa or an absolute path outside the working directory; the undocumented resolution path applies no directory restriction and returns the file contents in the prompt response. Alternatively, the attacker plants or abuses a symlink inside the working directory pointing to a sensitive file, since the path is not canonicalized before the restriction check. No public exploit code is identified, but the technique is trivial and requires no special tooling.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 05, 2026

Path traversal in the k6 MCP server (packaged by Grafana, CPE cpe:2.3:a:grafana:mcp_k6) lets a caller who can already invoke prompts on the server read arbitrary files as the OS user running the server. The convert_playwright_script prompt is documented to accept a script path in '@'-prefixed form, which is confined to the server's working directory, but bare paths and '~'-prefixed paths are handled by a separate undocumented code path that applies no restriction and expands '~' to the user's home directory, making files such as SSH private keys directly addressable; the '@' restriction can also be bypassed with a symlink inside the working directory pointing outside it. All releases from v0.3.0 onward are affected, and v0.3.0/v0.4.0 enforce no restriction on either path form; there is no confirmed active exploitation (not in CISA KEV) and no public exploit identified at time of analysis, and the impact is bounded by the requirement for prompt-invocation privileges (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N).

RemediationAI

Upgrade the k6 MCP server to a fixed release as listed in the Grafana security advisory for CVE-2026-89039 (https://grafana.com/security/security-advisories/cve-2026-89039); the exact fixed version is not stated in the available data, so the advisory should be consulted before deployment - patch available per vendor advisory. Until the upgrade is applied, run the MCP server as a dedicated unprivileged OS account whose home directory contains no credentials and whose filesystem view excludes sensitive data (trade-off: hosts with keys in the server user's home, such as ~/.ssh, remain exposed to the '~' form, so keys must be moved or the account isolated via container or chroot-style confinement). Restrict who can invoke prompts on the server to trusted clients and users, since exploitation requires prompt-invocation privileges (PR:L) and anonymous or broadly shared MCP endpoints materially increase exposure (trade-off: limits legitimate integrations). If the convert_playwright_script prompt is not needed, disable or remove it, or intercept the playwright_script argument with a proxy/wrapper that rejects bare, '~'-prefixed, and symlink-resolving paths, requiring the '@' form only (trade-off: breaks or constrains legitimate Playwright-conversion workflows that rely on other path forms). Do not store SSH private keys or other credentials in the server user's home directory, and audit the working directory for symlinks pointing outside it; note that no vendor workaround alone restores the '@'-form symlink defense, which depends on canonicalization in patched code.

Affected VersionsENISA

Mcp K6 0.3.0

Affected Packages

euvd mcp_k6 no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue is rooted in CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / Path Traversal) within the k6 MCP server's prompt-handling code. MCP servers expose 'prompts' that an MCP client can invoke with arguments; the convert_playwright_script prompt takes a playwright_script argument intended to be a path to a Playwright script to be transformed into k6 code. The implementation contains two divergent resolution paths: the documented '@'-prefixed form is checked against the server's current working directory, while a bare path falls through to an undocumented branch that performs no such check, and a leading '~' is expanded to the invoking user's home directory before the file is opened. Because the path is not canonicalized (for example via realpath) before the working-directory restriction is applied, the restriction is also defeated by a symlink placed inside the working directory that resolves to a target outside it. The result is a classic confused-path-disclosure: the file contents are returned in the prompt response rather than executed, so impact is confidentially oriented (C:H) with no integrity or availability effect, and exploitation is gated on the caller's ability to invoke prompts on the server (PR:L per the assessed vector). The affected package is identified by the wildcarded CPE cpe:2.3:a:grafana:mcp_k6:*:*:*:*:*:*:*:*, with v0.3.0 and v0.4.0 applying no restriction at all and later releases affected via the bare-path, '~', or symlink bypass.

Know when Grafana 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

Vendor (GRAFANA) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

Caller must be able to invoke the prompt (PR:L) but needs no further conditions (AC:L, UI:N); arbitrary file read yields C:H with no integrity or availability impact; AV:N retained per MCP transport exposure.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GRAFANA).

CVSS VectorVendor: GRAFANA

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The convert_playwright_script prompt in the k6 MCP server accepts a file path as its playwright_script argument. Paths given in the documented '@'-prefixed form are restricted to the server's current working directory, but a bare path is resolved by a separate undocumented code path that applies no such restriction. A caller able to invoke the prompt can therefore read any file readable by the user running the server, including files outside the working directory, and receives the file contents in the prompt response. A leading '~' is expanded to the user's home directory, so credential files such as SSH private keys are directly addressable. The working-directory restriction is additionally bypassable through a symbolic link inside the working directory that points outside it, because the path is not canonicalized before the restriction is applied. All releases from v0.3.0 onward are affected; releases v0.3.0 and v0.4.0 apply no restriction to either form.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Low
niche emerging MCP server add-on, not broadly deployed in production
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2024-9264 CRITICAL POC
9.4 Oct 18

The SQL Expressions experimental feature of Grafana allows for the evaluation of `duckdb` queries containing user input.

CVE-2023-34111 CRITICAL POC
9.8 Jun 06

The `Release PR Merged` workflow in the github repo taosdata/grafanaplugin is subject to a command injection vulnerabili

CVE-2022-26148 CRITICAL POC
9.8 Mar 21

An issue was discovered in Grafana through 7.3.4, when integrated with Zabbix. Rated critical severity (CVSS 9.8), this

CVE-2020-27846 CRITICAL POC
9.8 Dec 21

A signature verification vulnerability exists in crewjam/saml. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2018-15727 CRITICAL POC
9.8 Aug 29

Grafana 2.x, 3.x, and 4.x before 4.6.4 and 5.x before 5.2.3 allows authentication bypass because an attacker can generat

CVE-2026-63087 CRITICAL POC
9.3 Jul 16

Authentication bypass in Grafana OnCall through 1.16.11 lets unauthenticated remote attackers mint a valid PluginAuthTok

CVE-2023-36649 CRITICAL POC
9.1 Dec 12

Insertion of sensitive information in the centralized (Grafana) logging system in ProLion CryptoSpike 3.0.15P2 allows re

CVE-2025-4123 HIGH POC
7.6 May 22

A cross-site scripting (XSS) vulnerability exists in Grafana caused by combining a client path traversal and open redire

CVE-2020-13379 HIGH POC
8.2 Jun 03

The avatar feature in Grafana 3.0.1 through 7.0.1 has an SSRF Incorrect Access Control issue. Rated high severity (CVSS

CVE-2023-1387 HIGH POC
7.5 Apr 26

Grafana is an open-source platform for monitoring and observability. Rated high severity (CVSS 7.5), this vulnerability

CVE-2022-32276 HIGH POC
7.5 Jun 17

Grafana 8.4.3 allows unauthenticated access via (for example) a /dashboard/snapshot/*?orgId=0 URI. Rated high severity (

CVE-2022-32275 HIGH POC
7.5 Jun 06

Grafana 8.4.3 allows reading files via (for example) a /dashboard/snapshot/%7B%7Bconstructor.constructor'/.. Rated high

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy