{"schemaVersion":3,"id":"CVE-2026-89039","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"A caller who can invoke the convert_playwright_script prompt in mcp-k6 can pass a bare file path as the playwright_script argument and receive the contents of any file readable by the user running the server, including SSH keys and cloud credentials in that user's home directory (path traversal). The working-directory restriction applied to '@'-prefixed paths can also be bypassed with a symbolic link inside the working directory that points outside it.","dates":{"published":"2026-10-05T14:52:41.097Z","modified":"2026-10-05T19:36:42.166Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.5,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00379,"percentile":0.30625,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-06T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00379,"percentile":0.30625}],"last30":[{"date":"2026-10-06T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00379,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00379,"percentile":0.30625}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"},{"id":"CWE-424","name":"Improper Protection of Alternate Path","description":"The product does not sufficiently protect all possible paths that a user can take to access restricted functionality or resources.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/424.html"}],"affected":[{"vendor":"grafana","product":"mcp-k6","name":"mcp-k6","label":"mcp-k6","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 0.3.0, < 0.7.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 0.3.0, < 0.7.0","eol":null,"hubHref":"/vendor/grafana/mcp-k6"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://grafana.com/security/security-advisories/cve-2026-89039","label":"grafana.com/security/security-advisories/cve-2026-89039","hostname":"grafana.com","tags":["Vendor Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-05T14:52:41.097Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-05T19:36:42.166Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":26,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T22:50:38.954Z","stale":false,"partial":false}}