{"id":"CVE-2026-61459","kind":"vulnerability","aliases":["CVE-2026-61459","GHSA-wmg3-h8mf-wgvr"],"related":[],"title":"mcp-server-kubernetes argument injection can expose Kubernetes cluster credentials","description":"MCP Server Kubernetes before 3.9.0 contains an argument injection vulnerability in structured tools (kubectl_get, kubectl_describe, kubectl_delete) that allows attackers to bypass the assertNoDangerousFlags security check by supplying resourceType and name parameters with leading dashes. Attackers can inject the --server flag to redirect kubectl commands to an attacker-controlled API server, causing the operator's bearer token to be transmitted externally and enabling full cluster compromise.","summary":"mcp-server-kubernetes before 3.9.0 lets a crafted resourceType or name with leading dashes pass the dangerous-flag check in kubectl_get, kubectl_describe and kubectl_delete. An attacker can inject --server to point kubectl at an attacker-controlled API server, sending the operator's bearer token there and enabling full cluster compromise.","severity":"critical","cvss":9.8,"epss":0.02362,"exploited":false,"exploited_at":null,"products":[{"name":"mcp-server-kubernetes","fixed":["3.9.0"],"affected":"< 3.9.0","ecosystem":"npm"},{"name":"suyogs mcp-server-kubernetes","fixed":["3.9.0"],"affected":"< 3.9.0","ecosystem":"vendor"}],"ecosystems":["npm","vendor"],"tags":["ai-tooling","claude-code","cwe-88","kubernetes","mcp","npm"],"not_affected_if":["fixed-version","no-mcp-server-kubernetes"],"how_to_check":"- Run `npm ls mcp-server-kubernetes` in each project and in any global install to find the installed version.\n- Check that the installed version is below `3.9.0`.","fix":"- Upgrade mcp-server-kubernetes to `3.9.0` or later.\n- Rotate any kubeconfig bearer tokens or service account tokens the server used, since they may have been sent to an external host.","status":"open","published_at":"2026-07-10T19:17:27+00:00","first_seen_at":"2026-10-28T15:09:08+00:00","triaged_at":"2026-10-28T15:10:05+00:00","updated_at":"2026-10-28T15:33:37+00:00","category":"ai-tooling","confidence":0.7,"triage":{"at":"2026-10-28T15:10:05Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade mcp-server-kubernetes to `3.9.0` or later.\n- Rotate any kubeconfig bearer tokens or service account tokens the server used, since they may have been sent to an external host.","reach":"unknown","title":"mcp-server-kubernetes: argument injection leaks cluster bearer token to attacker","impact":"high","summary":"mcp-server-kubernetes before 3.9.0 lets a crafted resourceType or name with leading dashes pass the dangerous-flag check in kubectl_get, kubectl_describe and kubectl_delete. An attacker can inject --server to point kubectl at an attacker-controlled API server, sending the operator's bearer token there and enabling full cluster compromise.","category":"ai-tooling","nicknames":[],"who_cares":["mcp","kubernetes","npm","claude-code"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Operator's cluster bearer token leaks; full cluster compromise follows.","analyst_note":"Check GHSA-wmg3-h8mf-wgvr for whether the attacker needs prior access to the MCP tool channel, and for the exact default kubectl configuration.","how_to_check":"- Run `npm ls mcp-server-kubernetes` in each project and in any global install to find the installed version.\n- Check that the installed version is below `3.9.0`.","needs_analyst":true,"not_affected_if":["fixed-version","no-mcp-server-kubernetes"],"who_is_affected":"Teams that run mcp-server-kubernetes as an MCP server connected to a Kubernetes cluster, where an AI agent or client can send it tool calls with user- or model-supplied resource names. The exposure depends on the agent reaching these structured tools with untrusted input. Teams on 3.9.0 or later, or not running this MCP server, can skip it.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000685,"input_tokens":3444,"output_tokens":681,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,21A '-61459':14A,22A '-88':39B '3.9.0':48B,103C 'ai':33B 'ai-tool':32B 'allow':119C 'api':85B,151C 'argument':5A,106C 'assertnodangerousflag':124C 'attack':73B,83B,120C,136C,149C 'attacker-control':82B,148C 'bearer':91B,157C 'bypass':122C 'caus':153C 'check':63B,126C 'claud':36B 'claude-cod':35B 'cluster':10A,97B,166C 'code':37B 'command':145C 'compromis':98B,167C 'contain':104C 'control':84B,150C 'craft':51B 'credenti':11A 'cve':12A,20A 'cwe':38B 'danger':61B 'dangerous-flag':60B 'dash':57B,135C 'delet':71B,117C 'describ':68B,115C 'enabl':95B,164C 'expos':8A 'extern':162C 'flag':62B,141C 'full':96B,165C 'get':66B,113C 'ghsa':16A 'ghsa-wmg3-h8mf-wgvr':15A 'h8mf':18A 'inject':6A,75B,107C,138C 'kubectl':65B,67B,70B,79B,112C,114C,116C,144C 'kubernet':4A,9A,40B,46B,101C 'kubernetes':26A,31A 'lead':56B,134C 'let':49B 'mcp':2A,24A,29A,41B,44B,99C 'mcp-server-kubernet':1A,43B 'mcp-server-kubernetes':23A,28A 'name':54B,131C 'npm':42B 'oper':89B,155C 'paramet':132C 'pass':58B 'point':78B 'redirect':143C 'resourcetyp':52B,129C 'secur':125C 'send':87B 'server':3A,25A,30A,45B,76B,86B,100C,140C,152C 'structur':110C 'suppli':128C 'suyogs':27A 'token':92B,158C 'tool':34B,111C 'transmit':161C 'vulner':108C 'wgvr':19A 'wmg3':17A","nicknames":[],"mitigations":[],"who_affected":"Teams that run mcp-server-kubernetes as an MCP server connected to a Kubernetes cluster, where an AI agent or client can send it tool calls with user- or model-supplied resource names. The exposure depends on the agent reaching these structured tools with untrusted input. Teams on 3.9.0 or later, or not running this MCP server, can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-07-10T19:17:27+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-wmg3-h8mf-wgvr","url":"https://github.com/advisories/GHSA-wmg3-h8mf-wgvr","severity":"critical","published_at":"2026-07-10T21:32:32+00:00","modified_at":"2026-10-28T15:08:29+00:00","first_seen_at":"2026-10-28T15:09:08+00:00","fetched_at":"2026-10-28T15:14:20+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-61459","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-61459","severity":null,"published_at":"2026-07-10T19:17:27+00:00","modified_at":"2026-10-25T15:10:00+00:00","first_seen_at":"2026-10-28T15:33:37+00:00","fetched_at":"2026-10-28T15:33:37+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}