Pythonのパッケージ「llama_cpp_python 」で重大な脆弱性(CVE-2024-34359)

Pythonのパッケージ「llama_cpp_python 」で重大な脆弱性(CVE-2024-34359)

2024年5月16日海外のセキュリティ企業「Checkmarx」がPythonのパッケージ「llama_cpp_python 」で重大な脆弱性(CVE-2024-34359)を発見し「Llama Drama」と名付けました。この脆弱性を悪用する事によってPythonテンプレートエンジン「Jinja2 」で任意のコードを実行できます。

脆弱性(CVE-2024-34359)

「llama_cpp_python」パッケージ内の Jinja2 テンプレート エンジンの誤用に起因する重大な脆弱性です。このパッケージは、Python と C++ を統合することで計算効率を高めるように設計されており、AI アプリケーションなどで利用されます。

この脆弱性の主な原因は、サンドボックスなどの適切なセキュリティ対策なしで、テンプレート データを処理することで発生します。

Jinja2 ではセキュリティ対策を目的としたサンドボックスがサポートされていますが、この例ではサンドボックスが稼働しませんでした。

この見落としにより、攻撃者はホスト上で任意のコードを実行する悪意のあるテンプレートを挿入することができます。

脆弱性はHugging Faceなどに影響する

Hugging Faceは一般的なセキュリティ対策を施されていますが、バックドア付きのAI学習モデルも観測されています。

この脆弱性は、AI モデルを Python と統合するために使用される人気の llama_cpp_python パッケージはHugging Face で 6,000 を超えるモデルに利用されています。
HuggingFace プラットフォーム上の 6,000 を超えるモデルがテンプレート付きの「gguf」形式を使用しているため、ユーザーは知らぬ間にバックドアを仕掛けられる可能性があります。

引用:Llama Drama: Critical Vulnerability CVE-2024-34359 Threatening Your Software Supply Chain

TOPへ