
Loom for AWS accordait des droits de super-administrateur à chaque requête non authentifiée — CVE-2026-103956
- OrcaNOUVEAUOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 par million de tokens · 55 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2952Intelligence
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856Intelligence
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 par million de tokens · 768 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238Intelligence
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Intelligence
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Intelligence
- xAIGrok 4.72026-09-2146Intelligence
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 par million de tokens · 39 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 par million de tokens · 2230 tok/s
- DeepSeekDeepSeek: DeepSeek V4.1 Flash2026-09-1040Intelligence
- OpenAIOpenAI: GPT-6 Astra2026-09-0453Intelligence77Code
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241Intelligence76Code
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245Intelligence76Code
- AnthropicAnthropic: Claude Fable 5.12026-09-0153Intelligence82Code
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 par million de tokens · 57 tok/s
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 par million de tokens · 125 tok/s
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642Intelligence72Code
- DeepSeekDeepSeek: DeepSeek V4 Flash Vision (Exp)2026-08-21$0.22 / $0.66 par million de tokens · 206 tok/s
- z-aiZ.ai: GLM 5.32026-08-1845Intelligence75Code
Le 2 octobre 2026, AWS a publié le Bulletin de sécurité 2026-124-AWS, divulguant CVE-2026-103956 dans Loom for AWS, la plateforme open source d'AWS Labs permettant de créer, déployer et gérer des agents d'IA sur Amazon Bedrock AgentCore Runtime. Dans un déploiement où aucun fournisseur d'identité n'avait été configuré, la dépendance d'authentification du backend attribuait une identité de super-administrateur fixe à chaque requête entrante — y compris les requêtes ne comportant aucun en-tête Authorization. Un client distant capable d'atteindre le backend pouvait enregistrer des serveurs d'outils, lire les identifiants d'intégration stockés et réécrire les politiques de rôle IAM attachées aux rôles d'agents gérés : un contrôle administratif total du plan de contrôle des agents, sans aucune authentification. NVD attribue à cette faille un score de 10,0, critique, selon CVSS 3.1 comme selon CVSS 4.0. La découverte a été créditée à Kenneth Cox, dans le cadre d'une divulgation coordonnée. L'avis décrit ce que la faille permettrait ; il ne décrit pas ce que quiconque en a fait.
Ce que la dépendance d’authentification faisait réellement
Le défaut se trouvait dans la dépendance d'authentification du backend. Selon l'avis de sécurité GitHub GHSA-vgmj-998f-r8mp, le chemin de code dans la dépendance d'authentification du backend — la fonction get_current_user dans le backend Loom — renvoyait une identité d'administrateur codée en dur, un compte super-admin dans le groupe g-admins-super, chaque fois qu'aucun pool d'utilisateurs Amazon Cognito ni aucun fournisseur d'identité externe actif n'existait. Il ne vérifiait pas si l'appelant avait présenté un jeton. Il ne débouchait pas sur un rejet. Il renvoyait quand même l'identité d'administrateur.
Le bulletin AWS décrit la conséquence de la même manière : la faille permettait à n'importe quel client réseau d'obtenir une autorité administrative complète sur le plan de contrôle des agents. CVE-2026-103956 est associée à CWE-306 (authentification manquante pour une fonction critique) et CWE-1188 (initialisation par défaut non sécurisée d'une ressource). Le vecteur CVSS 3.1 du NVD est AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — accessible via le réseau, de faible complexité, sans privilèges, sans interaction de l'utilisateur, portée modifiée, impact total sur la confidentialité, l'intégrité et la disponibilité.
Le point de cadrage important, et ce qui explique pourquoi un score CVSS 10.0 a été attribué à un petit projet open source, c'est qu'un déploiement sans IdP n'a rien d'exotique. Une installation récente de Loom qui n'a pas encore connecté Cognito se trouve exactement dans cet état, tout comme un déploiement dont la configuration du fournisseur d'identité n'a jamais été définie ou a cessé de résoudre. L'avis traite cela comme une condition courante plutôt que comme une mauvaise configuration que l'opérateur aurait lui-même provoquée.
Ce qu'un client non authentifié pourrait atteindre
• Inscriptions d’agents et serveurs d’outils : le client pouvait enregistrer ou modifier les serveurs d’outils qu’un agent est autorisé à appeler, ce qui, dans une architecture d’appel d’outils, fait la différence entre un agent qui lit un ticket et un agent qui exécute quelque chose.
• Identifiants d'intégration stockés : la plateforme stocke les identifiants des systèmes externes auxquels ses agents et ses serveurs d'outils se connectent, et le bulletin indique que ceux-ci étaient lisibles.
• Politiques de rôle IAM sur les rôles d'agents gérés : l'avis décrit la réécriture des politiques de rôle IAM attachées aux rôles que Loom gère pour ses agents, ce qui constitue l'étape qui transforme le contrôle de la couche d'orchestration en contrôle de ce que les agents peuvent faire à l'intérieur du compte AWS.
• Tout le reste est géré par la plateforme : les agents, les mémoires, la configuration de l’autoriseur et de la sécurité, les paramètres — et l’invocation de tout agent exécuté par le déploiement.
Ces quatre éléments constituent la propre liste de l’avis de ce à quoi donne accès un accès administratif complet, et non une reconstitution. Il n’est pas affirmé qu’une exploitation ait eu recours à l’un d’entre eux.
Établi, et non établi
Établi. La vulnérabilité existait et est documentée dans des sources primaires convenues : le bulletin de sécurité AWS 2026-124-AWS du 2 octobre 2026, l'avis GitHub GHSA-vgmj-998f-r8mp publié le même jour, et l'enregistrement CVE-2026-103956 de la NVD. Les versions affectées (antérieures à 1.6.1), les scores CVSS, les correspondances CWE, la version corrigée et le crédit concordent d'une source à l'autre. L'enregistrement d'archive pour cet incident est classé avec une confiance A, non contesté, et contient real_harm avec la valeur false.
Les champs propres au dossier situent la divulgation au 2 octobre 2026, avec une précision au jour près, et décrivent une revendication publique de preuve de concept comme non vérifiée ; ni le bulletin ni l’avis ne contient de preuve d’une attaque. Le dossier public de NVD pour CVE-2026-103956 indique que le catalogue des vulnérabilités exploitées connues de la CISA est vide pour ce CVE, et le dossier d’archive indique real_harm comme false. Donc : une faille qu’un client réseau non authentifié pourrait utiliser, sans aucune preuve dans les sources que quiconque l’ait fait.

À distinguer, là aussi. Le score CVSS de 10,0 mesure ce que la faille permettrait de faire, et non ce qu’elle a fait. Un 10,0 sans exploitation et sans dommage enregistré est un incident évité de justesse, et c’est ainsi que l’archive le classe.
Le correctif, et les deux mois d'écart avant qu'il ne soit nommé
AWS a corrigé le problème dans Loom 1.6.1, publié le 4 août 2026. Cette date a son importance : la version est sortie environ deux mois avant le bulletin, et le numéro CVE existait publiquement. Les notes de version 1.6.1 décrivent la modification sans nommer de CVE — le contournement de l'authentification exige désormais une activation explicite ainsi qu'un client loopback, et échoue sinon en mode fermé avec un code 401 — de sorte que la gravité de la faille et sa désignation n'étaient visibles que pour les utilisateurs de Loom qui suivaient les trackers, et non pour quiconque lisait les seules notes de version. La même version a ajouté un renforcement SSRF pour les requêtes de découverte OAuth.

Pour les déploiements déjà exposés, les recommandations préalables à la mise à niveau d'AWS consistent à disposer d'un pool d'utilisateurs Amazon Cognito ou d'un fournisseur d'identité externe actif entièrement configuré avant que le backend ne soit joignable au-delà de l'interface de bouclage, à confirmer que LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV n'est pas défini en dehors du développement local, et à restreindre l'accès réseau ou par groupe de sécurité au backend entre-temps. Le bulletin précise explicitement que la restriction réseau réduit le risque d'accès non intentionnel mais ne résout pas le problème sans la mise à niveau, et que les forks et le code dérivé doivent également être corrigés.
Même bulletin, défauts différents
Le résumé de la fiche indique que 2026-124-AWS ne concerne pas uniquement cette CVE. Deux autres failles Loom ont été divulguées le même jour et corrigées dans Loom 1.7.0 : CVE-2026-103957, une SSRF dans la gestion de la découverte OAuth2 qui pourrait envoyer des secrets clients OAuth2 ou le jeton d’accès d’un autre utilisateur vers un point de terminaison contrôlé par un attaquant (CVSS 3.1 6,2, CVSS 4.0 8,2), et CVE-2026-103958, une SSRF dans la gestion des connexions au serveur d’outils et à l’agent distant qui pourrait atteindre des adresses internes arbitraires, y compris le point de terminaison de distribution d’identifiants du conteneur, et lire les réponses (CVSS 3.1 7,6, CVSS 4.0 8,3). Les deux nécessitaient un utilisateur authentifié disposant de la portée mcp:write ou a2a:write. Le bulletin couvre également CVE-2026-104019, une injection de commandes OS dans le script de validation de démarrage de Studio Space utilisé par Amazon SageMaker Unified Studio, notée 9,0 critique selon CVSS 3.1, qu’AWS dit avoir corrigée côté serveur au moyen d’une modification globale d’assainissement appliquée au prochain redémarrage de Space.
Après la mise à niveau, AWS demande aux opérateurs de renouveler les secrets client OAuth2 pour les intégrations MCP et A2A, de révoquer et de réémettre les jetons qui étaient actifs pendant la fenêtre concernée et, si les identifiants de rôle du conteneur ont été compromis, de renouveler les identifiants de session du rôle IAM et de consulter CloudTrail.
Pourquoi cet enregistrement est dans l'archive

CVE-2026-103956 est enregistrée comme une vulnérabilité, pas comme un incident : trouvée, pas nécessairement exploitée, INFRA et CRED, GLOBAL, gravité élevée, confiance élevée. Sa valeur dans l'ensemble d'enregistrements tient à son statut de cas limite pour toute la catégorie des plans de contrôle d'agents. Le rôle de Loom est de conserver les identités, les enregistrements de serveurs d'outils ainsi que leurs identifiants d'intégration, et les politiques IAM qui déterminent ce que les agents peuvent toucher — la couche qui relie une plateforme d'agents au compte cloud dans lequel elle réside. Une vérification manquante dans cette couche ne dégrade pas un agent ; elle transfère le patrimoine. Un enregistrement frère dans l'archive, la divulgation AgentCorruption du 8 octobre 2026 visant Amazon Bedrock AgentCore, décrit la même couche atteinte par une autre voie, une chaîne SSRF depuis un agent exposé publiquement.
L’archive répertorie chaque incident d’agent documenté qu’elle contient, chacun avec ses propres sources, son niveau de gravité, son degré de confiance et son indicateur de contestation, aux côtés de celui-ci. Cet article porte sur un seul enregistrement de cet ensemble, et c’est dans cet enregistrement que réside la classification complète champ par champ.
Il s'agit d'une fiche, étudiée et rapportée par d'autres, et citée ici en leur nom. La couche propre à Loom — identités, enregistrements de serveurs d'outils et politiques IAM qui déterminent ce que les agents peuvent toucher — est la couche que les entrées sœurs de l'archive des incidents d'IA atteignent aussi, et chacune de ces fiches comporte ses propres sources, sa gravité, son degré de confiance et son indicateur de contestation.
