暗いネイビーの背景に描かれた抽象的なテクニカルイラスト。広い半透明の境界線が、一列に並んだ小さなミニマルなサーバーパネルを囲んでいる。ラベルのない1本のリクエスト矢印が左から境界線に入り、そのそばに認証情報トークンはない。矢印が境界線を横切る地点で琥珀色に変わり、その後、内部のすべてのパネルに届く多数の細いシアンの線に分岐する。その中には、認証情報保管庫を表す鍵穴付きの小さな立方体も含まれる。その下では、同じ大きさの2本目の矢印が、短い白い実線のバーによって境界線で止められている。テキスト、人物、組織のロゴは一切表示されていない。OrcaRouterのロゴが右下隅に合成されている。
AI Safety Incidents

Loom for AWS、すべての未認証リクエストにスーパー管理者権限を付与 — CVE-2026-103956

著者

Gideon Frost

公開日

最新モデル · 20すべてのモデルを見る →
ベンチマーク:Artificial Analysis · 毎日更新
すべての記事に戻る

2026年10月2日、AWSはセキュリティ情報2026-124-AWSを公開し、CVE-2026-103956をLoom for AWS(AWS Labsが提供するオープンソースプラットフォームで、Amazon Bedrock AgentCore Runtime上でAIエージェントを構築・デプロイ・管理するためのもの)において開示しました。アイデンティティプロバイダーが構成されていないデプロイメントでは、バックエンドの認証依存関係が、Authorizationヘッダーを一切含まないリクエストを含むすべての受信リクエストに固定のスーパー管理者アイデンティティを付与していました。バックエンドに到達できるリモートクライアントは、ツールサーバーの登録、保存された統合認証情報の読み取り、管理対象エージェントロールに付与されたIAMロールポリシーの書き換えが可能でした。つまり、認証を一切必要とせずにエージェントコントロールプレーンを完全に管理できる状態でした。NVDはこの脆弱性をCVSS 3.1およびCVSS 4.0のいずれにおいても10.0、Criticalと評価しています。この発見の功績は、協調的開示のプロセスを通じて取り組んだKenneth Coxに帰されています。この勧告は、この脆弱性によって何が可能になるかを説明するものであり、誰かがそれを実際にどう利用したかについては説明していません。

認証依存関係が実際には何をしていたのか

その欠陥はバックエンドの認証依存関係にありました。GitHub のアドバイザリ GHSA-vgmj-998f-r8mp によると、バックエンドの認証依存関係のコードパス — get_current_user という Loom バックエンドの関数 — は、ハードコードされた管理者アイデンティティ、g-admins-super グループのスーパー管理者アカウントを、Amazon Cognito ユーザープールが存在せず、アクティブな外部 ID プロバイダーも存在しない場合は常に返していました。呼び出し元がトークンを提示したかどうかは確認していませんでした。拒否へとフォールスルーすることもありませんでした。それでも管理者アイデンティティを返していました。

AWS の bulletin は結果を同じように説明している: この脆弱性により、任意のネットワーククライアントがエージェントコントロールプレーンに対する完全な管理者権限を取得できた。CVE-2026-103956 は次にマッピングされている: CWE-306(重要な機能における認証の欠如)および CWE-1188(リソースの安全でないデフォルト初期化)。NVD の CVSS 3.1 ベクトルは AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — ネットワーク到達可能、低複雑度、権限不要、ユーザー操作不要、スコープ変更、機密性・完全性・可用性への完全な影響。

重要なのはその捉え方であり、CVSS 10.0 が小規模なオープンソースプロジェクトに付与された理由を説明する部分でもあるが、それは IdP なしのデプロイが珍しいものではないということだ。Cognito がまだ組み込まれていない、インストールしたばかりの Loom はまさにその状態にあり、ID プロバイダーの設定が一度も行われなかったか、解決されなくなったデプロイも同様だ。アドバイザリはこれを、運用者がわざわざ招き入れる必要のある設定ミスではなく、よくある状態として扱っている。

未認証クライアントが到達できる範囲

• エージェントの登録とツールサーバー: クライアントは、エージェントが呼び出しを許可されているツールサーバーを登録または改変できてしまう。ツール呼び出し型アーキテクチャにおいて、これはチケットを読むだけのエージェントと、何かを実行してしまうエージェントとの違いにほかならない。

• 保存された統合認証情報:プラットフォームは、そのエージェントやツールサーバーが接続する外部システムの認証情報を保存しており、通告によれば、これらは読み取り可能な状態でした。

• マネージドエージェントロールの IAM ロールポリシー: このアドバイザリは、Loom がエージェント向けに管理するロールにアタッチされた IAM ロールポリシーを書き換えることについて述べており、これはオーケストレーション層の制御を、エージェントが AWS アカウント内で実行できる内容の制御へと変換するステップである。

• その他のすべてはプラットフォームが管理します。エージェント、メモリ、オーソライザーとセキュリティ構成、設定 — そしてデプロイメントが実行する任意のエージェントの呼び出しです。

それら4項目は、完全な管理者アクセスが何に及ぶかについてアドバイザリ自身が挙げたリストであり、再構成したものではない。それらのいずれかが悪用に使われたと主張されているわけではない。

確立済み、および未確立

確定。 この脆弱性は実在し、合意された一次情報源に記録されています。すなわち、2026年10月2日付のAWSセキュリティ速報 2026-124-AWS、同日に公開されたGitHubアドバイザリ GHSA-vgmj-998f-r8mp、およびNVDのCVE-2026-103956レコードです。影響を受けるバージョン(1.6.1より前)、CVSSスコア、CWEマッピング、修正バージョン、クレジットは、いずれもこれらで一致しています。このインシデントのアーカイブ記録は信頼度Aと評価されており、異議はなく、real_harm は false です。

記録自体のフィールドは、開示を2026年10月2日と日単位の精度で位置づけ、公開された概念実証(PoC)の主張を未検証として記述している。速報にも勧告にも攻撃の証拠はない。CVE-2026-103956に関するNVDの公開記録では、このCVEについてCISAの既知の悪用カタログが空とされており、アーカイブ記録ではreal_harmがfalseとなっている。つまり、認証されていないネットワーククライアントが悪用し得る欠陥であり、情報源の中に誰かが実際に悪用したという証拠はない。

HTML card titled 'What the record establishes — and what it does not', kicked 'Record 2026-10-02-loom-aws-agent-control-plane-cve-2026-103956' and subtitled with the source list: AWS Security Bulletin 2026-124-AWS, GHSA-vgmj-998f-r8mp and the NVD record, all published 2 October 2026, with the archive classification confidence A, not disputed, real harm recorded as false. Two columns run side by side. The left column, headed 'Established' in cyan, lists six items: CVSS 10.0 critical under both CVSS 3.1 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) and CVSS 4.0; CWE-306 and CWE-1188 — missing authentication for a critical function and insecure default initialization of a resource; affected versions before 1.6.1, where the auth dependency returned a fixed super-admin identity when no Cognito pool or external identity provider was configured; reach by any network client that could reach the backend, including registering tool servers, reading stored integration credentials and rewriting IAM role policies on managed agent roles; fixed in Loom 1.6.1, released 4 August 2026, about two months before the bulletin named the CVE; and credit to Kenneth Cox through coordinated disclosure. The right column, headed 'Not established' in amber, lists six items: no confirmed exploitation in the wild, with the AWS bulletin and the GitHub advisory both silent on attacks; a public proof-of-concept claim that is unverified in the record and could not be corroborated from the cited sources; no CISA KEV entry for CVE-2026-103956 in the NVD record; no statement about whether the fixed release is deployed across the installed base of forks and derivative code; no estimate of exposed deployments, since nothing in the cited sources says how many Loom instances ran IdP-less and network-reachable; and the note that severity measures what the flaw allowed, not what happened, with no harm recorded for this entry. A footer reads 'Facts as published by AWS (Security Bulletin 2026-124-AWS), the Loom maintainers (GHSA-vgmj-998f-r8mp) and NVD. Card rendered by OrcaRouter.' The OrcaRouter logo is composited in the bottom-right corner.

これも分けて考える価値がある。 CVSS 10.0が測るのは、その欠陥が何を可能にするかであり、実際に何をしたかではない。悪用もなく、被害の記録もない10.0はニアミスであり、アーカイブはそのように記録している。

修正と、それが名付けられるまでの2か月の空白

AWS はこの問題を Loom 1.6.1 で修正しました。これは 2026 年 8 月 4 日にリリースされています。この日付は重要です。リリースはブリテン公表の約 2 か月前で、CVE 番号はすでに公開されていました。v1.6.1 のリリースノートは、CVE を名指しすることなくこの変更を説明しています。認証バイパスには明示的なオプトインとループバッククライアントが必要になり、それ以外の場合は 401 でフェイルクローズするというものです。つまり、この脆弱性の深刻度とその指定は、トラッカーを追跡している Loom ユーザーにしか見えず、リリースノートだけを読んだ人には分かりませんでした。同じリリースでは、OAuth ディスカバリーのフェッチに対する SSRF 強化も追加されています。

HTML card titled 'Two months between the fix and the name', kicked 'CVE-2026-103956' and subtitled with the point: the code was patched in August, but nothing in the 1.6.1 release notes pointed a Loom operator at a CVSS 10.0 authentication bypass. Four dated rows run down a vertical timeline. 4 August 2026: Loom 1.6.1 ships the fix, and the release notes describe the change without naming a CVE, with the local-dev no-IdP bypass now requiring an explicit opt-in plus a loopback client and otherwise failing closed with a 401; the same release adds SSRF hardening for OAuth discovery. 4 August to 2 October 2026: roughly two months of unstated severity, with the patch public and the defect gone but the CVE number and the 10.0 score not yet existing, so a Loom user reading release notes alone sees a security hardening rather than a critical advisory with a remediation deadline. 2 October 2026, 12:00 PM PDT: AWS Security Bulletin 2026-124-AWS is published, naming CVE-2026-103956 for Loom before 1.6.1 alongside CVE-2026-103957 and CVE-2026-103958, both fixed in 1.7.0, and CVE-2026-104019 in Amazon SageMaker Unified Studio. 2 October 2026: the GitHub advisory and the NVD record follow, with GHSA-vgmj-998f-r8mp published the same day and NVD publishing CVE-2026-103956 with CVSS 3.1 and CVSS 4.0 base scores of 10.0, critical. A footer reads 'Dates as published by the Loom 1.6.1 release notes, AWS Security Bulletin 2026-124-AWS, GHSA-vgmj-998f-r8mp and the NVD record. The cited sources do not state the release date of Loom 1.7.0. Card rendered by OrcaRouter.' The OrcaRouter logo is composited in the bottom-right corner.

すでに露出しているデプロイメントについては、AWS のアップグレード前のガイダンスは、バックエンドがループバック以外から到達可能になる前に Amazon Cognito ユーザープールまたはアクティブな外部 ID プロバイダーを完全に構成しておくこと、および確認すべきこととしてLOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEVがローカル開発以外では未設定であること、その間はバックエンドへのネットワークまたはセキュリティグループのアクセスを制限することです。この通知は、ネットワーク制限により意図しないアクセスの可能性は低くなるが、アップグレードなしでは問題は解消しないこと、また、フォークや派生コードにもパッチを適用する必要があることを明示しています。

同じ会報、異なる欠陥

記録の要約には、2026-124-AWS がこの CVE だけに関するものではないと記されている。同日にさらに 2 件の Loom の問題が開示され、Loom 1.7.0で修正された。CVE-2026-103957 は、OAuth2 ディスカバリ処理における SSRF で、OAuth2 クライアントシークレットまたは別のユーザーのアクセストークンを攻撃者が制御するエンドポイントに送信する可能性があった(CVSS 3.1 6.2、CVSS 4.0 8.2)。また、CVE-2026-103958 は、ツールサーバーとリモートエージェントの接続処理における SSRF で、コンテナの資格情報発行エンドポイントを含む任意の内部アドレスに到達し、その応答を読み取る可能性があった(CVSS 3.1 7.6、CVSS 4.0 8.3)。どちらも、mcp:write または a2a:write スコープを持つ認証済みユーザーであることが必要だった。このアドバイザリはまた、Amazon SageMaker Unified Studio で使用される Studio Space 起動検証スクリプトにおける OS コマンドインジェクションである CVE-2026-104019 も扱っており、CVSS 3.1 では 9.0 のクリティカルで、AWS は、次の Space 再起動時に適用されるグローバルなサニタイズ変更によってサーバー側で修正したと述べている。

アップグレード後、AWS は運用担当者に対し、MCP および A2A 連携の OAuth2 クライアントシークレットをローテーションすること、影響を受けた期間中に有効だったトークンを失効させて再発行すること、さらに、コンテナロールの認証情報に到達していた場合は、IAM ロールのセッション認証情報をローテーションし、CloudTrail を確認することを求めています。

この記録がアーカイブにある理由

Abstract technical illustration on a dark navy field: three stacked horizontal layers. The top layer is a loose cluster of small abstract agent glyphs. Thin filaments run down from them into the middle layer, a clearly bounded cyan-outlined slab containing three small icons — two overlapping identity discs, a rectangular socket representing a tool registration, and a padlock on a folded document representing a policy. Every filament passes through those three icons. A single thick bundle leaves the middle slab and fans out across the bottom layer, a wide plain of large rectangular blocks. On the right edge of the middle slab, a short section of its outline is drawn as a dashed amber line, marking a boundary that is not intact. No text, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

CVE-2026-103956はインシデントではなく脆弱性として登録されている。発見済みであり、必ずしも悪用されたわけではない。INFRAおよびCRED、GLOBAL、重大度:高、信頼度:高。 記録におけるその価値は、エージェント制御プレーンというカテゴリ全体にとっての境界事例である点にある。これは、アイデンティティ、ツールサーバーの登録とその統合資格情報、そしてエージェントが何に触れてよいかを決定するIAMポリシーを保持している。エージェントプラットフォームを、それが存在するクラウドアカウントに接続する層である。その層におけるチェックの欠落は、エージェントを劣化させるのではなく、資産全体を移転させてしまう。 アーカイブ内の姉妹記録である、2026年10月8日のAmazon Bedrock AgentCoreに対するAgentCorruption開示は、同じ層に別の経路、すなわち1つの公開向けエージェントからのSSRFチェーンを通じて到達したことを記述している。

アーカイブは、収録しているすべての記録済みエージェント・インシデントを、これと並べて一覧にしており、それぞれに固有の情報源、重大度、信頼度グレード、係争中フラグが付されている。この記事は、その集合の中の単一のレコードについて述べたものであり、フィールドごとの完全な分類はそのレコードに存在する。

これは一件の記録であり、他者によって調査・報告され、ここではそれらの人々に帰属するものとして引用されている。Loom 独自の層 — アイデンティティ、ツールサーバーの登録、そしてエージェントが何に触れてよいかを決める IAM ポリシー — は、AI インシデントアーカイブ内の兄弟エントリもまた到達する層であり、それらの記録はそれぞれ独自の情報源、深刻度、信頼度グレード、および係争中フラグを伴っている。