LMDeploy の RPC 通信を担う AsyncRPCServer において、受信したメッセージを処理する際のデシリアライゼーション処理に問題がある。検証なしに `pickle.loads()` を実行するため、攻撃者が細工したデータを送信することでリモートコード実行(RCE)が可能となる。特に 0.10.2 未満のバージョンでは、RPC サーバがすべてのネットワークインターフェース(tcp://*)で接続を待ち受けており、外部から到達可能なポートをスキャンされることで容易に攻撃を受けるリスクがあった。
対象ソフト
LMDeploy は、大規模言語モデル(LLM)の推論や展開を最適化し、高速に実行するためのオープンソースツールキットである。主に AI モデルのデプロイや推論サーバの構築に使用される。
影響
攻撃者はリモートから被害者のマシン上で任意の OS コマンドを実行できる。リバースシェルを作成されることにより、システムの完全な制御権を奪取される恐れがある。
対応策
LMDeploy バージョン 0.10.2 以降にアップグレードすること。バージョン 0.10.2 では、RPC サーバのバインド先を localhost に変更することで、外部ネットワークからの攻撃経路が遮断されている。