LangChain a publié deux GitHub Security Advisories contre langgraph-api — le runtime LangGraph Server qui sous-tend LangGraph Platform, y compris le chart Helm officiel — à 18:55:57 et 18:56:03 UTC le 19 août. Les deux concernent des défaillances d'autorisation inter-tenant dans un runtime d'agents de production.

Les deux bugs

CVE-2026-55236 (CVSS 5.9, à dominante confidentialité) : le chemin de création d'exécution déclenchait un événement d'autorisation assistants.search, tandis que les lectures directes et les opérations cron déclenchaient assistants.read. Dans les déploiements dont le gestionnaire personnalisé conditionnait l'accès aux assistants sur assistants.read sans solution de repli globale, aucun gestionnaire n'était consulté lors de la création d'une exécution — la contrainte de propriétaire disparaissait et le metadata, config et context privés d'un autre utilisateur réapparaissaient dans la réponse.

CVE-2026-55235 (CVSS 5.9, à dominante intégrité) : une exécution ou une tâche cron pouvait spécifier une cible de webhook relative. La livraison revenait alors vers la même application via un transport en processus que le middleware d'authentification considère comme interne et n'authentifie pas, ce qui permettait à une requête de créer des exécutions sur les threads d'un autre utilisateur ou d'en modifier l'état.

Ce que le récit habituel passe à côté

On présentera cela comme de nouvelles vulnérabilités découvertes dans LangGraph. Deux corrections. Premièrement, le correctif est sur PyPI depuis le 11 juin 2026 — la première version corrigée est la 0.10.0, et quatorze autres versions ont été publiées depuis, jusqu'à la 0.12.6 du 18 août. Quiconque utilisait une version même vaguement récente n'a jamais été exposé. Ce qui s'est passé le 19 août relevait de la divulgation, pas de la découverte, ni d'une course contre la montre.

Deuxièmement, « exposition de données inter-tenant dans une plateforme d'agents » surestime le rayon d'impact. CVE-2026-55236 ne concerne que les déploiements qui avaient écrit un gestionnaire d'autorisation personnalisé enregistrant assistants.read ou assistants.search sans gestionnaire global ; l'avis de LangChain indique que les déploiements sans gestionnaires personnalisés, ou avec des filtres de propriétaire équivalents sur tous les événements, ne sont pas affectés. Les deux avis l'affirment clairement : « We have no evidence of this behavior occurring in the wild. »

La forme du bug, c'est l'histoire

Les deux failles découlent du même mode de défaillance — un runtime d'agents avec plusieurs chemins internes vers la même ressource, où le nom de l'événement d'autorisation diverge sur l'un d'eux, auquel s'ajoute un transport « interne » qui ignore totalement l'authentification. Les serveurs d'agents accumulent précisément ces surfaces : webhooks, cron, threads et exécutions accédant tous à un état partagé par des points d'entrée différents. Cette catégorie de découverte réapparaîtra sans cesse pour des raisons structurelles, et non par négligence d'une équipe en particulier.