Multi Model Server に任意コード実行の弱点、修正版なし
AWS の機械学習モデル配信ツール Multi Model Server 1.1.11 以前に、細工されたモデルアーカイブを読み込ませるだけで外部から任意のコードを実行されるおそれのある弱点が見つかりました。この製品はサポートが終了しており、修正版は出ません。利用中の組織は、外部公開の有無を確認して接続を絞り、サポート対象の配信基盤への移行を計画してください。
急ぎ度: 早めに
認証なしで外部から悪用できうる深刻度の高い弱点で、修正版が存在しないため、パッチ適用ではなく接続の制限と移行で対処する必要があります。
関係があるか
Multi Model Serverを使って機械学習モデルをAPIとして提供している組織が対象です。インターネットや広い社内ネットワークから到達できる環境ほど危険が高くなります。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| Amazon Web Services Multi Model Server(パッケージ名 multi-model-server) | 1.1.11以前 | なし(サポート終了のため修正版は提供されません) |
確かめ方
- 1推論サーバーや開発環境で
pip show multi-model-serverを実行し、Versionが1.1.11以前かどうかを確認します。 - 2コンテナイメージやrequirements.txt、Dockerfileにmulti-model-serverが含まれていないかを検索します。自社で作ったイメージだけでなく、ベンダーや社内の他チームから受け取ったイメージも対象です。
- 3モデルの提供サービスがどのネットワークから到達できるか(インターネット、社内全体、特定のサブネットのみ)を、ファイアウォールやセキュリティグループの設定で確かめます。
- 4モデルアーカイブを誰が、どの経路でサーバーに登録できるかを洗い出します。
何が起きたか
Multi Model Serverは、機械学習のモデルをまとめたアーカイブファイルを受け取り、それを使って推論用のAPIを提供するツールです。この製品に、アーカイブを展開するときの処理の不備が見つかりました。細工されたアーカイブを読み込ませると、サーバー上の意図しない場所にファイルが書き込まれ、最終的に任意のコードを実行されるおそれがあります。
弱点の種類はCWE-23(相対パスによるパストラバーサル)です。アーカイブの中に「上の階層へさかのぼる」ようなパスを含めておくと、展開先として決められたフォルダーの外にファイルを置けてしまう、という考え方の問題です。
CVSS v3の基本値は9.8、v4は9.3で、いずれも最も深刻な区分(critical)です。ベクターを見ると、ネットワーク経由で、特別な条件や認証、利用者の操作なしに悪用でき、機密性・完全性・可用性のすべてに大きな影響が出る想定です。
AWSは、この製品がすでにサポート終了であり修正版は提供されないと明記しています。利用者には、使用をやめてサポートされているモデル配信の仕組みへ移行するよう求めています。
攻撃の流れ
-
1
細工したarchive
攻撃者が、展開先の外へ書き込ませるパスを仕込んだモデルアーカイブを用意します。
-
2
サーバーへ読込
そのアーカイブがMulti Model Serverに読み込まれる状況をつくります。
-
3
想定外の場所へ
展開処理がパスを十分に確かめず、決められたフォルダーの外にファイルが書き込まれます。
-
4
コード実行
書き込まれた内容が使われ、サーバー上で任意のコードが動く可能性があります。
どう悪用されるか
CVSSのベクターでは、攻撃元はネットワーク経由、攻撃の難しさは低く、認証も利用者の操作も不要とされています。ただし、細工されたアーカイブをどの経路で読み込ませるかという具体的な入口は、告知では詳しく説明されていません。モデルの登録や管理に使う窓口が外部から到達できる環境ほど、影響を受ける可能性は高いと考えて点検してください。
悪用に成功した場合、Multi Model Serverが動くサーバー上で攻撃者の指定したコードが実行されるおそれがあります。モデルや推論データの窃取・改ざん、サーバーの停止、同じネットワーク内の他システムへの足がかりにされることなどが想定されます。実際にどこまで被害が及ぶかは、サーバーの権限やネットワークの分離状況によって変わります。
実際の攻撃での悪用が確認されたという情報は、現時点で公表されていません。
今すぐやること
-
1
利用箇所を洗い出す
本番だけでなく、検証環境、開発者の端末、コンテナイメージに含まれるmulti-model-serverも対象にして、版を確認します。
pip show multi-model-server -
2
外部からの到達を止める
インターネットに公開されている場合は、ファイアウォールやセキュリティグループで遮断し、必要な接続元だけに絞ります。モデルの登録や管理に使う窓口は、特に厳しく制限します。
-
3
モデルの出どころを限定する
読み込むモデルアーカイブは、社内で作成し管理している信頼できるものだけにします。外部から取得したものや、利用者が自由にアップロードできる経路は止めます。
-
4
サポート対象の基盤へ移行する
修正版が出ないため、根本的な対処は使用をやめることです。AWSはサポートされているモデル配信の仕組みへの移行を求めています。移行先と時期を決め、移行計画を立てます。
-
5
不審な痕跡を確かめる
身に覚えのないモデルの登録、サーバー上の不審なファイルやプロセス、想定外の外部通信がないかをログで確認します。見つかった場合はインシデントとして扱います。
すぐ更新できないとき
修正版がないため、次の対策は被害の可能性を下げるものであり、弱点そのものをなくすものではありません。
- サーバーを外部ネットワークから切り離し、接続元を必要最小限にする。
- Multi Model Serverを一般ユーザーの権限で、コンテナなどで隔離して動かし、書き込める場所を絞る。
- モデルアーカイブは、信頼できる経路から配置したものだけを読み込む運用にする。
移行が終わるまでの一時しのぎとして使い、早期に移行してください。
背景
Multi Model Serverは、学習済みの機械学習モデルをHTTPのAPIとして提供するためのツールです。社内では、アプリケーションが推論を呼び出す窓口になり、モデルそのものや処理対象の業務データも扱います。そのため、ここが乗っ取られると、モデルの資産や入力データに加え、同じネットワーク上の他システムにも影響が及びかねません。
圧縮ファイルやアーカイブを展開するときに、中のパスを十分に確かめず、決められた場所の外にファイルを書き込めてしまう問題は、アーカイブを扱うソフトウェアで繰り返し見つかってきた種類の弱点です。ユーザーが渡したファイルを自動で展開する仕組みでは、展開先の検証が欠かせません。サポートが終わった製品ではこうした弱点が見つかっても修正されないため、使い続けるリスクが年々高まります。
よくある質問
Q.最新版にアップデートすれば直りますか。
Q.社内ネットワークだけで使っていれば、放置してもよいですか。
Q.AWSのマネージドサービスを使っている場合も影響しますか。
まだ分かっていないこと
- 実際の攻撃で悪用されたかどうかは、現時点で公表されていません。
- 細工されたアーカイブを読み込ませる具体的な経路や、既定の設定でどの程度外部から到達できるかは、告知では詳しく説明されていません。
- 移行先として推奨される具体的な製品名は、告知では示されていません。AWSのセキュリティ告知で最新の案内を確認してください。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| AWS | multi-model-server |
1.1.11 以前 |
— |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Relative path traversal during model archive extraction in Amazon Web Services Multi Model Server 1.1.11 and earlier might allow remote actors to execute arbitrary code via a crafted model archive.
Multi Model Server is end of life and no fixed version is available. Users should discontinue use of Multi Model Server and migrate to a supported model serving solution.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- AWS aws.amazon.com
- web aws.amazon.com
- web nvd.nist.gov
- web aws.amazon.com
- web github.com