système : OPÉRATIONNEL
← retour à tous les hacks
AGENTS MEDIUM NEW

Le serveur MCP de Splunk journalise les jetons d'auth en clair (CVE-2026-20205)

L'app Splunk MCP Server écrivait les jetons de session et d'autorisation des utilisateurs en clair dans l'index _internal — une faille CWE-532 (secrets dans les logs) qui transforme l'accès aux journaux en vol de jetons. Corrigé en v1.0.3.

2026-06-15 // 6 min affects: splunk-mcp-server

De quoi s’agit-il ?

CVE-2026-20205 est une faille de divulgation d’informations sensibles dans l’app Splunk MCP Server, le connecteur qui permet à des agents LLM d’interroger un déploiement Splunk via le Model Context Protocol. Splunk a publié l’avis SVD-2026-0407 le 15 avril 2026 (bug ID VULN-64757), avec une note CVSS 3.1 de 7,2 (élevée), vecteur AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H, classée CWE-532 (insertion d’informations sensibles dans un fichier journal). Elle est créditée à Charlie Huggard, de Splunk, et a refait surface lors de la vague de mises à jour de sécurité Splunk de juin 2026.

Concrètement : l’app écrivait les jetons de session et d’autorisation des utilisateurs en clair dans l’index _internal de Splunk. Quiconque pouvait lire cet index — ou les fichiers journaux sous-jacents — pouvait récolter des identifiants actifs appartenant à d’autres utilisateurs. Toutes les versions de l’app antérieures à la 1.0.3 sont concernées.

Comment ça marche

Il ne s’agit ni d’une chaîne d’injection de prompt astucieuse, ni d’une corruption mémoire. C’est la plus vieille erreur du métier, transposée à la pile agentique : un service qui manipule des identifiants porteurs (bearer) les journalise tels quels au lieu de les masquer.

L’app MCP Server fait l’intermédiaire entre un client MCP (l’agent) et Splunk. Pour cela, elle manipule des jetons de session et d’autorisation propres à chaque utilisateur. Sur le chemin de journalisation, ces valeurs étaient émises sans masquage dans des événements qui atterrissent dans l’index _internal :

# Forme conceptuelle de l'événement de log fuité (jeton expurgé ici)
... mcp_tool=search user=analyst session_token=[REDACTED] authorization=Bearer [REDACTED] ...

Aucun code d’exploitation particulier n’est requis. Selon Splunk et SentinelOne, un acteur atteint les jetons par des moyens ordinaires :

  1. en disposant d’un rôle pouvant lire l’index _internal, ou de la capacité à haut privilège mcp_tool_admin ; ou
  2. en ayant un accès local en lecture aux fichiers journaux de l’hôte Splunk.

Par défaut, seul le rôle admin peut lire _internal, ce qui maintient le niveau à « élevé » plutôt que « critique » et explique le PR:H du vecteur. Mais la condition préalable est fragile : de nombreux déploiements réels élargissent l’accès à _internal pour le dépannage ou des tableaux de bord, et un seul compte compromis ou trop privilégié transforme une requête de log de routine en collecte d’identifiants. Les jetons récupérés permettent ensuite le détournement de session, l’élévation de privilèges et le déplacement latéral vers les systèmes accessibles à l’utilisateur usurpé.

Pourquoi c’est important

Les serveurs MCP deviennent discrètement le composant le plus sensible d’un déploiement agentique : ils s’intercalent entre un modèle autonome et un backend réel, et détiennent ou relaient presque toujours du matériel d’authentification. Leur hygiène de journalisation devient donc une propriété de sécurité de premier ordre, et non un détail. CWE-532 est banale isolément, mais dans un serveur MCP elle convertit une primitive à faible coût — « lire des logs » — en « usurper d’autres utilisateurs de la plateforme ».

Le cas Splunk rappelle aussi que cette classe de bug se répète dans tout l’écosystème. L’avis s’inscrit dans une série de CVE de divulgation d’informations Splunk en 2026, et le motif « jetons dans les logs » réapparaît partout où des connecteurs MCP ont été livrés à la hâte. La leçon vaut pour tout serveur, passerelle ou proxy MCP que vous exploitez : présumez que chaque identifiant manipulé finira par être écrit quelque part, sauf preuve explicite du contraire.

Deuxième point : la fenêtre d’exposition. Comme la fuite est passive et persistante, des jetons peuvent déjà dormir dans des buckets d’index historiques et des journaux archivés. Corriger l’app empêche l’écriture de nouveaux jetons, mais ne fait rien pour les identifiants déjà capturés — d’où la rotation, et pas seulement la mise à jour, dans la réponse.

Défenses

Mettez à jour l’app Splunk MCP Server en v1.0.3 ou supérieure. Le correctif masque les jetons de session et d’autorisation avant leur écriture, fermant le chemin d’écriture (selon SVD-2026-0407).

Faites tourner les jetons exposés. Considérez tout jeton de session/autorisation utilisé via un serveur antérieur à 1.0.3 comme potentiellement compromis. Invalidez les sessions actives et réémettez les identifiants ; la simple mise à jour ne purge pas les jetons déjà présents dans _internal ou dans les journaux archivés.

Resserrez l’accès aux données internes. Restreignez l’index _internal aux seuls rôles de niveau administrateur, et auditez/révoquez la capacité mcp_tool_admin pour les comptes qui n’en ont pas strictement besoin. Ajoutez une surveillance d’intégrité des fichiers sur les répertoires de logs Splunk et segmentez l’accès local au système de fichiers de l’hôte.

Cherchez les abus antérieurs. Examinez les recherches sur _internal qui filtrent des champs d’authentification, les exports en masse depuis des index internes et les réutilisations de session anormales depuis de nouveaux lieux ou appareils — les indicateurs listés par Splunk et SentinelOne pour cette faille.

Appliquez la règle durable à tout serveur MCP. Expurgez les secrets avant la journalisation, jamais après ; gardez si possible les composants manipulant des identifiants sans réseau et sans secret au repos ; et passez en revue ce que vos connecteurs MCP émettent à chaque niveau de log avant la production. Un outil « sûr » qui relaie des jetons ne vaut que ce que vaut sa ligne de debug la plus discrète.

Statut

ÉlémentDétail
CVECVE-2026-20205 (CWE-532)
AvisSplunk SVD-2026-0407, publié le 2026-04-15
GravitéCVSS 3.1 7,2 élevée (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H)
ConcernésApp Splunk MCP Server, versions antérieures à la 1.0.3
CorrigéApp Splunk MCP Server v1.0.3
Condition préalableAccès en lecture à _internal, capacité mcp_tool_admin, ou accès local aux logs
CréditCharlie Huggard, Splunk
ActionMettre à jour vers ≥ 1.0.3, faire tourner les jetons, restreindre _internal, auditer mcp_tool_admin

Sources