Meta Llama-Stack の脆弱性 CVE-2024-50050 が FIX:PoC も提供

CVE-2024-50050: Critical Security Flaw in Meta’s Llama-Stack Framework

2025/01/25 SecurityOnline — Generative AI (GenAI) アプリケーションの構築と展開において、人気を博している OSS フレームワーク Meta Llama-Stack に、深刻な脆弱性 CVE-2024-50050 が存在することを、Oligo Research チームが報告した。pyzmq ライブラリの、安全が確保されない使用による生じる、この脆弱性を悪用するリモートの攻撃者は、任意のコード実行を達成し、AI モデルのホスティング/データの整合性/システムのセキュリティに対して、重大なリスクをもたらすという。

この欠陥は、pyzmq の recv_pyobj メソッドに起因する。このメソッドは、本質的に安全が確保されない pickle.loads 関数を用いて、Python オブジェクトをデシリアライズする。Oligo のレポートは、recv_pyobj の使用は危険であると強調する理由は、検証されていないデータ・ソースに対する unpickle にある。それを悪用するペイロードが、公開された ZeroMQ ソケットに送信されると、任意のコードの実行につながる可能性があるという。

この脆弱性 CVE-2024-50050 (CVSS v4.:9.3) は、Llama-Stack のデフォルトのメタ参照推論 API に影響を及ぼすものである。この脆弱性の発見を受けた Meta はパッチを発行し、バージョン 0.0.41 以降にアップデートするよう、ユーザーに促している。

Oligo の PoC エクスプロイトが示すのは、悪意を持って作成されたシリアライズ・オブジェクトを、攻撃者がオープン・ソケットに送信することで、この欠陥を悪用する方法である。recv_pyobj によりデシリアライズされた、このオブジェクトはコード実行をトリガーし、攻撃者に対してホスト・マシンの完全な制御を許可するものいだ。

このレポートでは、「ZeroMQ ソケットが、ネットワーク上で公開されているシナリオでは、悪意のあるオブジェクトをソケットに送信する攻撃者が、この脆弱性を悪用する可能性がある」と概説されている。

この情報開示の直後に対応した Meta は、そこから2週間以内に修正プログラムをリリースしている。このパッチは、脆弱な pickle シリアライズを、安全な Pydantic JSON 実装に置き換えている。