注目★★★★★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() の呼び出しチェーン全体が影響を受ける。
あなたへの影響
この記事が日本のエンジニアに与える影響と、今日取るべきアクションは、Personal会員向けに掲載しています。
クレカ不要・いつでも解約