PyTorch Model モデルの脆弱性 ShellTorch が FIX:リモートコード実行の可能性

Warning: PyTorch Models Vulnerable to Remote Code Execution via ShellTorch

2023/10/03 TheHackerNews — PyTorch モデルを提供しスケーリングするための TorchServe ツールに、複数の深刻なセキュリティ上の欠陥があることを、サイバー・セキュリティ研究者たちが公表した。この問題を発見したイスラエルのランタイム・アプリケーション・セキュリティ企業 Oligo は、この脆弱性を ShellTorch と呼んでいる。


同社のセキュリティ研究者である Idan Levcovich/Guy Kaplan/Gal Elbaz は、「これらの脆弱性は、フルチェーンのリモート・コード実行 (RCE) につながる可能性があり、不正アクセスや悪意のAI モデルの挿入に加えて、潜在的なサーバの乗っ取りの危険に、サービスやエンド・ユーザーを晒すことになる。その範囲は、世界最大級の企業を含む、数え切れないほどのユーザーに及ぶ」と述べている。

TorchServe バージョン 0.8.2 で対処された欠陥のリストは以下の通りだ。

  • CVE なし:認証されていない管理インターフェース API のミスコンフィグレーション (0.0.0.0)。
  • CVE-2023-43654 (CVSS:7.2):リモートからのコード実行を許すサーバ・サイド・リクエスト・フォージェリ (SSRF)。
  • CVE-2022-1471 (CVSS:9.9):安全でないバージョンの SnakeYAML オープンソース・ライブラリの使用により、Java オブジェクトによる安全ではないデシリアライズの可能性が生じる。

それらの脆弱性の悪用に成功した攻撃者は、自身が制御するアドレスから悪意のモデルを、アップロードするためのリクエスト送信が可能となり、任意のコード実行が引き起こされる可能性が生じる。


言い換えると、管理サーバにリモート・アクセスが可能な攻撃者は、悪意のモデルをアップロードすることも可能であり、デフォルトの TorchServe サーバで認証を必要とせずにコードを実行できる。

さらに厄介なことに、この欠点と脆弱性 CVE-2022-1471 を連鎖させることで、コード実行が可能となり、また、公開されたインスタンスの完全な乗っ取りへのドアを開く可能性が生じる。

研究者たちは、「そのため、悪意を持って細工された YAML ファイルを取り込んだモデルをアップロードすることで、安全ではないデシリアライズ攻撃を引き起こすことが可能となり、その結果として、マシン上でのコード実行へといたる」と述べている。

この問題の深刻さに対処するために、Amazon Web Services (AWS) はアドバイザリを発行した。その具体的な内容は、2023年9月11日以前にリリースされた EC2/EKS/ECS 上で、PyTorch 推論 Deep Learning Containers (DLC) 1.13.1/2.0.0/2.0.1 を使用している顧客に対して、TorchServe バージョン 0.8.2 にアップデートするよう促すものだ。

研究者たちは、「これらの脆弱性により付与される特権を悪用することで、対象となる TorchServe サーバに流入する AI モデルや機密データの、閲覧/変更/窃取、削除が可能になる。これらの脆弱性を、さらに危険なものにするのは、攻撃者がモデル提供サーバを悪用した場合に生じるものだ。対象となる TorchServe サーバに出入りする機密データにアクセスし、改ざんすることが可能になるため、アプリケーションの信頼性と信用性が損なわれ」と指摘している。