本文へ移動
English version →
重大 9.8 急ぎ度: 早めに

TAKO AI Agent for Oktaで管理者乗っ取り、修正版あり

TAKO AI Agent for Oktaの3.0.1-beta未満では、初期設定の前に認証なしで管理者を作られる脆弱性が公表されました。Dockerで動かしている組織は、3.0.1-betaへの更新と、8001番ポートの公開範囲の確認を進めてください。

CVE-2026-63377 公開 更新 執筆・監修: 佐々木 航 人が監修しながらAIを活用して執筆
画像は生成 AI で作成したイメージです

急ぎ度: 早めに

CVSS v3は9.8で認証なしにネットワークから管理者を作られますが、初期設定が済んだ環境は拒否される作りで、修正版の3.0.1-betaも公開されています。

関係があるか

TAKO AI Agent for Oktaを自社のサーバーやDockerで動かしている組織が対象です。とくに、初期設定をまだ終えていないインスタンスや、8001番ポートが社内外のネットワークに公開されている環境は優先して確認してください。

製品影響を受ける版修正版
TAKO AI Agent for Okta(パッケージ名 okta-ai-agent) 3.0.1-beta未満 3.0.1-beta

確かめ方

  1. 1動かしているコンテナのイメージと公開ポートを確認し、8001番が全インターフェースに公開されていないかを見る。
  2. 2使っている版が3.0.1-beta未満かどうかを、導入時のリリースタグやイメージのタグで確認する。
  3. 3管理画面にログインし、身に覚えのない管理者アカウントがないかを確かめる。初期設定の画面が表示される場合は、初期設定が未完了の状態です。

何が起きたか

TAKO AI Agent for Oktaに、初期設定の前なら認証なしで最初の管理者アカウントを作れてしまう脆弱性があります。Okta管理者が自然言語でテナントのデータを調べるためのローカル向けAIエージェントで、3.0.1-beta未満が対象です。

原因は、初期設定用のAPIである POST /api/auth/setup が、設定完了を示すフラグしか見ていないことです。認証も、一度きりの初期トークンも、接続元の制限もありません。成功すると管理者権限のアカウントが作られ、有効なセッションのCookieまで発行されます。

標準の docker-compose.yml は8001番ポートをすべてのインターフェースに公開し、Dockerfile も0.0.0.0で待ち受けます。認証の仕組みも全体にはかかっていないため、初期設定前のインスタンスがネットワークから届く場所にあると、そのまま狙われる構成です。3.0.1-betaで修正されました。

攻撃の流れ

  1. 1

    公開ポートに到達

    ネットワークから、初期設定前のインスタンスの8001番ポートに届く。

  2. 2

    管理者を作成

    認証なしで初期設定のAPIが受け付けられ、最初の管理者アカウントが作られる。

  3. 3

    セッションを取得

    有効なセッションのCookieが発行され、管理者として操作できる。

  4. 4

    データと設定を操作

    同期されたユーザー情報やAPIトークンを読み、Okta連携の認証情報やユーザーを変更できる。

公開されている情報をもとにした流れの例です。

どう悪用されるか

認証は不要で、利用者の操作も要りません。インスタンスのポートにネットワークから届けば足ります。条件は、正規の持ち主がまだ初期設定を完了していないことです。初期設定が済んだ環境では、このAPIは要求を拒否します。

実際のOktaテナントに接続できる必要もありません。ローカルホスト限定のCORS設定は、ブラウザー以外のHTTPクライアントには効かないため、防御になりません。

悪用されると、攻撃者が唯一の管理者になり、正規の持ち主は初期設定を完了できなくなります。Oktaから同期されたユーザー情報、APIトークン、チャット履歴、アプリの設定を読まれます。ユーザーやOkta連携の認証情報も書き換えられ、ほかの管理者の締め出しやサービス停止にもつながります。

今すぐやること

  1. 1

    3.0.1-betaに更新する

    修正版の3.0.1-betaへ更新します。初期設定をまだ済ませていないインスタンスは、更新して初期設定を自分で完了するまで、ネットワークに出さないでください。

  2. 2

    公開ポートを確認する

    コンテナの公開ポートを一覧し、8001番が全インターフェースに公開されていないかを見ます。公開されていれば、必要な接続元だけに絞ります。

    docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Ports}}"
  3. 3

    管理者アカウントを点検する

    初期設定を終えた環境でも、管理画面で管理者とユーザーの一覧を見て、身に覚えのないアカウントがないか確かめます。

  4. 4

    不審な点があれば認証情報を入れ替える

    見覚えのない管理者が見つかった場合や、初期設定前に外部へ公開していた期間がある場合は、このエージェントに登録していたOktaのAPIトークンを失効させて作り直します。Oktaのログも見て、不審な操作がないか確認してください。

  5. 5

    ベンダーの告知を読む

    GitHubのセキュリティアドバイザリとリリースノートで、影響する版や更新の注意点を最終確認します。

すぐ更新できないとき

すぐに更新できない場合は、8001番ポートをホスト自身だけに公開する設定(127.0.0.1:8001:8001 の形)に変えるか、ファイアウォールで管理用の接続元だけに絞ります。初期設定が未完了なら、外部から届かない状態で自分で完了させておくと、第三者が先に管理者を作ることを防げます。

背景

TAKO AI Agent for Oktaは、Oktaのユーザーやアプリの情報を自然言語で問い合わせるために、情シスが自前のサーバーで動かすツールです。Oktaから同期したユーザー情報、OktaのAPIトークン、問い合わせの履歴を手元に持つため、管理者権限を握られると、ID基盤そのものを操作する足がかりになります。

今回の脆弱性は、初回の設定画面や設定用APIを、持ち主が使い終えるまで認証なしで開けておく作りに由来します。セルフホスト型のツールで起きやすい型で、持ち主より先に到達した人が管理者になってしまいます。標準構成がポートを全インターフェースに公開していたことが、被害に届く範囲を広げていました。

よくある質問

Q.Okta本体の脆弱性ですか。
A.いいえ。問題はこのAIエージェントの初期設定のAPIにあります。Okta本体の製品の脆弱性としては書かれていません。ただし、このツールに登録したOktaのAPIトークンなどは、管理者を奪われると読み取られたり書き換えられたりします。

この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。

原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

TAKO AI Agent for Okta is a local-first AI agent that helps Okta administrators query tenant data using natural language. Prior to 3.0.1-beta, POST /api/auth/setup in src/api/routers/auth.py allows an unauthenticated network attacker to create the first administrator account before the legitimate owner completes initial setup. The initial_setup function checks only the is_setup completion flag and requires no authentication, one-time bootstrap token, or network restriction. The default docker-compose.yml publishes port 8001 on all interfaces, the Dockerfile starts the listener on 0.0.0.0, and src/api/main.py mounts the authentication router without a global authentication guard. The endpoint invokes create_auth_user with UserRole.ADMIN and set_auth_cookie, issuing a valid fctr_session JWT cookie. Localhost-only CORS rules do not restrict non-browser HTTP clients, and the setup operation does not require access to a real Okta tenant. The attacker becomes the sole administrator and prevents legitimate first-run setup, can read Okta-synced user data, API tokens, chat history, and application configuration, modify users and Okta integration credentials, and lock out administrators or disable the service. Already completed setup is rejected. This issue is fixed in version 3.0.1-beta.

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく