セキュリティ研究者は、大規模言語モデルを実行するために広く使用されているフレームワークであるSGLangに、脅威アクターが推論サーバーを侵害することを可能にする重大な脆弱性を発見しました。
CVE-2026-5760として追跡されるこの欠陥は、サーバーが悪意のあるGGUFモデルファイルをロードする場合、リモートコード実行(RCE)を可能にします。
攻撃者は、HuggingFaceなどのプラットフォームでウェポン化されたモデルをホストし、被害者を騙してそれをデプロイさせることで、基礎となるホストマシンを完全に制御することができます。
この脆弱性は、SGLangのリランキングエンドポイントにおけるサーバーサイドテンプレートインジェクション(SSTI)の見落としから生じています。
フレームワークがインポートされたモデルから直接供給されるチャットテンプレートを処理する場合、Jinja2の安全でない設定を使用します。
具体的には、serving_rerank.pyの脆弱なコードパスは、はるかに安全なImmutableSandboxedEnvironmentではなく、標準のJinja2.Environment()関数を使用しています。
この重大なエラーは、テンプレートがサンドボックスなしでレンダリングされることを意味し、埋め込まれたPythonコマンドがデータを処理するサーバー上で直接実行されることを許可します。
攻撃実行ステップ
最近Githubで公開された概念実証エクスプロイトは、攻撃者がこのサンドボックスなし環境を活用してコード実行を達成する方法を実証しています:
- 攻撃者は、ウェポン化されたtokenizer.chat_templateを含む悪意のあるGGUFモデルファイルを作成します。
- テンプレートは、SGLangのQwen3リランカー検出を活動化させるように設計された特定のトリガーフレーズ(「答えは’yes’または’no’だけです」)が組み込まれています。
- 無防備な被害者が侵害されたモデルをダウンロードしてSGLang環境にロードすると、トラップが設定されます。
- /v1/rerank エンドポイントへのAPIリクエストが行われると、フレームワークは脆弱なJinja2レンダリングパスを通じてリクエストをルーティングします。
- SSTIペイロードは既知のPythonバイパス技術を使用してテンプレートコンテキストをエスケープし、ホストサーバー上で任意のオペレーティングシステムコマンドを正常に実行します。
この脆弱性は、AI基盤内で増加するサプライチェーンリスク、特にフレームワークが信頼されていないモデルメタデータをどのように処理するかに関する懸念を強調しています。
この欠陥は、CWE-1336(テンプレートエンジンで使用される特別な要素の不適切な無効化)およびCWE-94(コード生成の不適切な制御)に該当します。
以前にllama-cpp-pythonライブラリに影響を与えた悪名高い「Llama Drama」バグ(CVE-2024-34359)と同じ脆弱性クラスを共有しています。
さらに、vLLM(CVE-2025-61620)の最近のサービス妨害脆弱性と攻撃面を共有しています。
SGLangバージョン0.5.9を実行している管理者は、サンドボックス化されたテンプレートレンダリングを実装するパッチが適用されるまで、公開リポジトリから未検証のGGUFモデルをダウンロードしないように極度の注意を払う必要があります。
翻訳元: https://gbhackers.com/malicious-gguf-models-could-trigger-rce/