<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>MCP WebSocket on CyberVeille</title>
    <link>https://cyberveille.ch/tags/mcp-websocket/</link>
    <description>Recent content in MCP WebSocket on CyberVeille</description>
    <generator>Hugo -- 0.146.0</generator>
    <language>fr-fr</language>
    <copyright>Cyberveille CC BY-NC-SA 4.0</copyright>
    <lastBuildDate>Tue, 23 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://cyberveille.ch/tags/mcp-websocket/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AutoJack : une chaîne RCE via agent IA exploitant AutoGen Studio et MCP WebSocket</title>
      <link>https://cyberveille.ch/posts/2026-06-23-autojack-une-chaine-rce-via-agent-ia-exploitant-autogen-studio-et-mcp-websocket/</link>
      <pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://cyberveille.ch/posts/2026-06-23-autojack-une-chaine-rce-via-agent-ia-exploitant-autogen-studio-et-mcp-websocket/</guid>
      <description>&lt;p&gt;🔍 &lt;strong&gt;Contexte&lt;/strong&gt; : Le 18 juin 2026, l&amp;rsquo;équipe Microsoft Defender Security Research publie une analyse technique détaillant une chaîne d&amp;rsquo;exploitation baptisée &lt;strong&gt;AutoJack&lt;/strong&gt;, découverte dans &lt;strong&gt;AutoGen Studio&lt;/strong&gt;, l&amp;rsquo;interface de prototypage open-source du framework multi-agents AutoGen de Microsoft Research.&lt;/p&gt;
&lt;p&gt;⚙️ &lt;strong&gt;Mécanisme d&amp;rsquo;attaque&lt;/strong&gt; : La chaîne combine trois faiblesses indépendantes dans la surface &lt;strong&gt;MCP WebSocket&lt;/strong&gt; d&amp;rsquo;AutoGen Studio :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Issue 1 (CWE-1385)&lt;/strong&gt; : La liste blanche d&amp;rsquo;origines (&lt;code&gt;http://127.0.0.1&lt;/code&gt;, &lt;code&gt;http://localhost&lt;/code&gt;) bloque les navigateurs externes mais pas un agent de navigation headless tournant sur la même machine, dont le JavaScript hérite de l&amp;rsquo;identité localhost.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issue 2 (CWE-306)&lt;/strong&gt; : Le middleware d&amp;rsquo;authentification exclut explicitement les chemins &lt;code&gt;/api/mcp/*&lt;/code&gt; et &lt;code&gt;/api/ws/*&lt;/code&gt;, sans que le handler WebSocket MCP n&amp;rsquo;implémente sa propre vérification. Résultat : le WebSocket MCP est accessible sans authentification quelle que soit la configuration auth.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issue 3 (CWE-78)&lt;/strong&gt; : Le paramètre &lt;code&gt;server_params&lt;/code&gt; passé en query string est décodé en base64, parsé en &lt;code&gt;StdioServerParams&lt;/code&gt;, et transmis directement à &lt;code&gt;stdio_client()&lt;/code&gt; sans liste blanche des exécutables autorisés, permettant de spawner &lt;code&gt;calc.exe&lt;/code&gt;, &lt;code&gt;powershell.exe -enc ...&lt;/code&gt; ou &lt;code&gt;bash -c &#39;...&#39;&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🎯 &lt;strong&gt;Scénario d&amp;rsquo;exploitation&lt;/strong&gt; : Un attaquant héberge une page web contenant un script JavaScript qui ouvre une connexion WebSocket vers &lt;code&gt;ws://localhost:8081/api/mcp/ws/&amp;lt;session_id&amp;gt;?server_params=&amp;lt;base64(json)&amp;gt;&lt;/code&gt;. Lorsqu&amp;rsquo;un agent AutoGen équipé de capacités de navigation (ex: &lt;code&gt;MultimodalWebSurfer&lt;/code&gt;) visite cette page, le script s&amp;rsquo;exécute avec l&amp;rsquo;identité localhost, contourne l&amp;rsquo;auth, et AutoGen Studio spawne la commande arbitraire sous le compte du développeur. &lt;strong&gt;Aucune interaction utilisateur supplémentaire n&amp;rsquo;est requise&lt;/strong&gt; au-delà de faire visiter la page à l&amp;rsquo;agent.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
