Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-103956-loom-unauth — CVE-2026-103956 - Loom for AWS - 重大 - 認証バイパス - IdPが設定されていない場合、未認証のスーパー管理者 | Kitploit
ツール/GitHubGitHub/abraxas/cve-2026-103956-loom-unauth
脆弱性分析エクスプロイトウェブアプリケーション悪用セキュリティ仮想化ペネトレーションテストクラウドセキュリティ認証ラボと実践
GitHub
abraxas/cve-2026-103956-loom-unauth

cve-2026-103956-loom-unauth

CVE-2026-103956 - Loom for AWS - 重大 - 認証バイパス - IdPが設定されていない場合、未認証のスーパー管理者

リポジトリを見る
852220日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Abraxas Labs - cve-2026-103956-loom-unauth

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  cve-2026-103956-loom-unauth

cve-2026-103956-loom-unauth

Loom for AWS < 1.6.1 - AWS Labs

Cognito が未設定で、有効な外部 IdP も存在しない場合、get_current_user はすべてのリクエストに t-admin / g-admins-super を付与します。これには Authorization ヘッダーのないリクエストも含まれます。IdP のセットアップ前の新規デプロイは、オープンな管理パネルとなります。

IDCVE-2026-103956
CWECWE-306 / CWE-1188
CVSSCritical: 10.0 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
ProductLoom for AWS
Affected< 1.6.1。ラボのピンは v1.6.0 (8c658d61)。v1.6.1 (ccad5665) で修正済み。
Auth未認証
Class認証バイパス / 未認証スーパー管理者 (ATO)
Reachリモート (未認証)
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 のみ

攻撃者ができること

攻撃者は資格情報を一切持たずにエージェントのコントロールプレーンを掌握します。

  • スーパー管理者として侵入。 ヘッダーなしの GET /api/auth/me は username=local-dev、sub=local、グループ t-admin と g-admins-super を返します。GROUP_SCOPES のすべてのスコープがその ID とともに付与されます。
  • ツールサーバーを登録。 未認証の POST /api/mcp/servers が 201 を返します。MCP、A2A、エージェント、メモリ、セキュリティ、設定、資格情報、管理監査は同じ依存関係の背後にあります。
  • 保存された統合シークレットを読み取り。 GET /api/mcp/servers/{id}/export は admin:write です。このピンでは SQLite から oauth2_client_secret を返します。CVE の記述では、管理対象エージェントロールの IAM ロールポリシーの書き換えも挙げられていますが、その経路は AWS を必要とし、このループバックラボの範囲外です。
  • 公開ポートで攻撃。 新規デプロイ、Cognito の設定忘れ、または読み込みに失敗した IdP。バックエンドは 8000 番の FastAPI です。ネットワーク到達性があれば十分です。

v1.6.1 では LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV とループバッククライアントが必要です。同じリクエストは 401(No identity provider configured)になります。

発見の経緯

AWS は CVE-2026-103956 を GHSA-vgmj-998f-r8mp および bulletin 2026-124-AWS とともに公開しました。私は awslabs/loom v1.6.0 (8c658d61) を v1.6.1 (ccad5665) と並べてピンし、LOOM_COGNITO_USER_POOL_ID を未設定にして SQLite 上でバックエンドを実行しました。

backend/app/dependencies/auth.py の get_current_user は Cognito の環境変数と有効な IdP 行を確認します。両方とも空の場合、UserInfo(sub="local", username="local-dev", groups=["t-admin", "g-admins-super"], scopes=ALL_SCOPES) を返します。トークンは一切読まれません。

私はループバック 127.0.0.1:18180 (v1.6.0) と 18181 (v1.6.1) で素の FastAPI を立ち上げました。フロントエンドなし。AWS なし。1.6.0 では未認証の GET /api/auth/me がそれらのグループとともに 200 を返しました。oauth2_client_secret=CVE-2026-103956-WITNESS を付けた未認証の POST /api/mcp/servers は 201 を返しました。GET /api/mcp/servers/1/export はそのシークレットを返しました。1.6.1 では同じ /api/auth/me が 401 でした。

SUCCESS CVE-2026-103956 me-http=200 me-user=local-dev me-sub=local me-groups=t-admin,g-admins-super mcp-create=201 export-has-secret=yes list-has-witness=yes patched-me-http=401 CVE-2026-103956-WITNESS

誤ったターンはすでに記録済み: public.ecr.aws/docker/library/python:3.13-slim は Docker Hub の python:3.13-slim に対してスキップされた; v1.6.0 での最初の /health は uvicorn がバインド中に curl 52 となり、その後 200 になった; MCP の作成スキーマは最初の POST で一致し、422 のリトライはなかった。リバースシェル。芝居。オラクルは /api/auth/me とエクスポートされたシークレットである。

ラボ

cd lab
./run.sh

対象は http://127.0.0.1:18180(v1.6.0)と http://127.0.0.1:18181(v1.6.1)のみです。run.sh はそれらのタグをシャロークローンし、両方のバックエンドをビルドしてからスタックを破棄します。SQLite。Cognito の環境変数なし。パッチ適用済みサービスに LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV なし。

修正

1.6.1 以降にアップグレードしてください。AWS は関連する SSRF/トークンの問題に対して 1.7.0 を推奨しています。1.6.1 のバイパスはオプトインかつループバック限定です。それまでは、バックエンドがループバックを越えて到達可能になる前に Cognito または外部 IdP の設定を完了し、デプロイされたものでは LOOM_ALLOW_UNAUTHENTICATED_LOCAL_DEV を未設定のままにしてください。

参考文献

  • CVE-2026-103956
  • GHSA-vgmj-998f-r8mp
  • AWS bulletin 2026-124-AWS
  • awslabs/loom タグ v1.6.0 / v1.6.1
  • backend/app/dependencies/auth.py(get_current_user)
  • CWE-306

ライセンス

GNU Affero GPL v3.0

ツールをダウンロード