MaxKBのAIエージェントに深刻な脆弱性、プロンプトインジェクションでroot権限のコマンド実行が可能に

MaxKBに存在する深刻な脆弱性(CVE-2026-77521として追跡)を悪用すれば、攻撃者はプロンプトインジェクションを使い、ツールやMCP連携、スキル、サブアプリケーションを設定したAIアシスタント経由で任意のシェルコマンドを実行できることが判明しました。

この脆弱性はMaxKBバージョン2.10.3-lts以前に影響し、バージョン2.10.5-ltsで修正されています。CVSS v3.1スコアは10.0で、ネットワーク経由での悪用には認証もユーザー操作も必要ありません。

Lasso Securityの研究者によると、攻撃者は公開されているエージェント実行パスを悪用することで、基盤となるホスト上でコマンドを実行できるほか、コンテナ化された環境ではroot権限でのコマンド実行に発展する可能性もあるといいます。

MaxKBは、アシスタントに接続済みのツールやMCPサーバー、スキル、サブアプリケーションが存在する場合、会話をdeepagentsエージェント経由でルーティングします。このエージェントはSandboxShellBackendを用いて生成され、executeツールを含む複数のファイルシステム関連・シェル関連機能を自動的に公開してしまいます。

MaxKBはwrite_fileread_fileedit_fileといったファイル関連操作については承認の挙動を指定しているものの、execute機能に対しては人間による承認(human-in-the-loop)の制御を適用していません。さらに、シェル実行ツールを利用可能にしないためのexcluded_toolsも使用していません。

その結果、チャットインターフェース経由で送信された信頼できないプロンプトや、検索拡張生成(RAG)ワークフローで処理される文書に埋め込まれた悪意ある指示が、基盤となるモデルに影響を与え、オペレーティングシステムのコマンドを実行させてしまう恐れがあります。

この脆弱な経路は、匿名の入力を受け付ける公開型・埋め込み型のアシスタントにおいて特に深刻です。また、あるユーザーのコンテンツが、機密データや内部サービスを扱う別のエージェントに影響を及ぼしうるマルチテナント環境でも同様に危険です。

ソースコードおよびベアメタル環境でのデプロイでは、被害の封じ込めがMAXKB_SANDBOXの設定に依存します。baixin氏によると、サンドボックス設定は明示的に定義されていない場合、デフォルトで無効になっているとのことです。

この状態では、MaxKBのバックエンドはshell=Trueを指定したsubprocess.run()にコマンドを渡すことができ、その結果、MaxKBアプリケーションのアカウント権限でホスト上に直接コマンドが実行されてしまいます。サービスが昇格された権限で稼働している場合、その影響はroot権限でのコマンド実行にまで及ぶ可能性があります。

悪用に成功した場合、攻撃者はシークレットや設定ファイルへのアクセス、内部サービスの探索、水平移動、永続化の確立、さらには同一環境を共有する他のテナントへの影響などを引き起こすことが可能になります。

baixin氏は、システム管理を装った一見無害なリクエストだけで、エージェントにシステム情報コマンドを実行させ、ホストから取得した出力をファイルに書き込ませることができたと実証しました。

この発見は、特権的な実行ツールを備えたエージェントにおいて、モデルの安全性アライメントをセキュリティ制御として扱うべきではないことを浮き彫りにしています。

MaxKBの公式コンテナイメージではMAXKB_SANDBOX=1が有効化されており、事前にロードされたサンドボックスライブラリを通じて、制限されたsandboxユーザーとしてコマンドを実行することを意図しています。しかしbaixin氏は、この実装がラッパーコマンドをシェル文字列として構築し、shell=Trueを用いて呼び出していることを発見しました。

この設計により、シェルのメタ文字、コマンドの区切り文字、置換、リダイレクトが、制限されたユーザーにコマンドが渡される前に外側のシェルによって解釈されてしまいます。報告によれば、コンテナイメージにUSERディレクティブが存在しないため、この外側のシェルはUID 0(root)として実行されます。

baixin氏は、サンドボックスの文脈下で実行された直接のidコマンドはブロックされる一方で、リダイレクト操作によってroot所有のファイルを作成できることを検証しました。

組織は直ちにMaxKB 2.10.5-ltsへアップグレードすべきです。管理者はまた、デフォルトのエージェント設定からシェル実行機能を削除し、すべてのコマンド実行に承認を必須とし、サンドボックスラッパーでshell=Trueを使用しないようにすべきです。

16,000以上のSOCチームがANY.RUNを活用し、脅威調査の効率化と手作業の削減を実現しています。貴チームでもぜひご活用ください

翻訳元: https://cyberpress.org/critical-maxkb-ai-agent-flaw/

本記事は cyberpress.org の記事を翻訳・要約したものです。