Asayomu Tech
注目★★★★GitHub Advisory

Langroid に認証不要の RCE、LLM 出力の eval() サンドボックス不完全

30秒で把握

  • 1Langroid TableChatAgent の eval() サンドボックス不完全で認証不要 RCE、CVSS 未公開
  • 2globals 未クリアの __builtins__ 経由で os.system() 実行可能、LLM プロンプト攻撃で直接悪用
  • 3本番運用チームは full_eval=True 機能を即停止、パッチ確認と代替実装評価を開始

要約

Langroid の TableChatAgent と VectorStore が LLM 生成コードを eval() で実行する際、サンドボックス回避を許す重大な脆弱性が存在する。eval() の locals を空辞書に設定しても globals の __builtins__ をスクラブしないため、Python が実行時に全組み込み関数を自動注入し、__import__('os').system() 経由で任意コマンド実行が可能になる。外部の LLM 出力を直接実行する pandas_eval() により、プロンプト攻撃で認証なしに ホストシステムへの RCE が成立する。pandas_eval() の呼び出しチェーン全体が影響を受ける。

あなたへの影響

Langroid を本番運用またはマルチテナント環境で使用するチームは、直ちに full_eval=True の利用を停止し、パッチ版の確認・評価とローカル環境での検証を今週中に完了すべき。

推奨:LLM 出力に対する追加の入力検証・コード審査ステップの挿入も平行して検討する必要がある。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。