Aller au contenu

CVE-2026-39884 : Argument Injection dans mcp-server-kubernetes

Le projet mcp-server-kubernetes, conçu pour gérer des clusters Kubernetes via le Model Context Protocol, présente une vulnérabilité d’injection d’arguments identifiée sous le matricule CVE-2026-39884. En exploitant l’absence de validation d’entrée dans la fonction port_forward, un attaquant non authentifié ou un agent IA compromis peut influencer la construction des commandes kubectl. Cela permet potentiellement d’exposer des services internes au réseau public ou d’accéder sans autorisation à d’autres espaces de noms (namespaces).

La vulnérabilité se situe dans src/tools/port_forward.ts. La fonction port_forward construit les arguments de ligne de commande pour l’utilitaire kubectl en utilisant la concaténation de chaînes basée sur des paramètres fournis par l’utilisateur : namespace, resourceType, resourceName, localPort, et targetPort.

Contrairement à l’utilisation recommandée de mécanismes de passage d’arguments basés sur des tableaux (comme execFileSync), qui traiteraient l’intégralité de la chaîne comme une valeur d’argument unique, le code divise naïvement la chaîne concaténée par les espaces. Par conséquent, un attaquant insérant des espaces dans ses entrées peut injecter des flags de ligne de commande arbitraires.

Un attaquant peut manipuler les entrées pour ajouter des flags malveillants.

  1. Identifier les champs d’entrée traités par port_forward.
  2. Construire une charge utile incluant des espaces et des flags (ex: --address=0.0.0.0 ou des flags -n additionnels).
  3. Exécuter l’outil via l’interface du serveur MCP.
  4. Le serveur traite par mégarde les flags injectés lors de la génération du processus kubectl.

Les organisations peuvent détecter les tentatives d’exploitation en surveillant les logs d’exécution des commandes kubectl pour identifier des flags anormaux.

title: MCP Server Kubernetes Argument Injection
status: experimental
description: Detects potential argument injection attempts against port_forward tool.
logsource:
product: kubernetes
category: application
detection:
selection:
command|contains:
- "kubectl"
- "port-forward"
args|contains:
- "--address=0.0.0.0"
- "-n"
condition: selection
priority: high
index=k8s_logs sourcetype=mcp_server
| search command="kubectl" AND args="*--address=0.0.0.0*" OR args="*-n*"
| stats count by user, src_ip, dest_namespace

Mettre à jour mcp-server-kubernetes vers la version 3.5.0 immédiatement. Cette version corrige la vulnérabilité en utilisant un passage d’arguments sécurisé basé sur des tableaux plutôt que la concaténation de chaînes délimitée par des espaces.