脆弱性・CVE速報深刻度: 高

Agno の PandasTools に安全でないリフレクション(CVE-2026-119050、CVSS v3.1 8.1/v4.0 9.2): プロンプトインジェクション経由で read_pickle が呼ばれコード実行のおそれ、3.1.11 まで・修正版は未確認

目次(6)

CVE-2026-119050

NVD は 2026-10-29 に、AI エージェント構築用のオープンソースのフレームワーク Agno の脆弱性 CVE-2026-119050 を登録しました。Agno 3.1.11 までの PandasTools(データ分析用の標準ツール)に「安全でないリフレクション(CWE-470)」があり、言語モデルが指定した関数名がそのまま getattr() に渡されるため、pandas の任意の関数を呼び出せてしまう、という内容です。登録元(CNA)は VulnCheck で、CVSS は v3.1 が 8.1(High)、v4.0 が 9.2(Critical)です。

何が起きるか

  • PandasTools は、エージェントが pandas(表計算用ライブラリ)の関数を名前で呼べるようにするツールです。説明によると、この「関数名」を検証せずに getattr() で解決するため、本来想定していない関数も呼べます。
  • 悪用の筋道として説明に挙がっているのは、プロンプトインジェクション(エージェントが読む文書や入力に紛れ込ませた指示)です。これにより、エージェントに pandas.read_pickle を攻撃者が用意したパスに対して呼ばせると、pickle(Python のオブジェクト保存形式)の読み込み時にコードが実行されます。
  • ほかの読み込み関数(read_csv など)を呼ばせて、サーバー上のローカルファイルを読ませることもできるとされています。
  • CVSS v3.1 のベクターは AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H です。ネットワーク越しで認証不要ですが、攻撃条件が複雑(AC:H)とされています。v4.0 では AT:P(前提条件あり)です。前提としては、エージェントが PandasTools を有効にして外部の入力を処理していること、攻撃者が指定のパスにファイルを置けることなどが考えられますが、NVD の説明だけでは詳細は分かりません。
  • 影響を受けるのは「3.1.11 まで」の Agno です。下限の版は示されていません。

修正の状況

  • 修正版の有無・版番号は確認できていません(2026-11-02 時点)。NVD の記載は「through 3.1.11」で、修正版は示されていません。
  • 参照先には、問題のソース行(libs/agno/agno/tools/pandas.py の該当箇所)と、プロジェクトの課題管理(GitHub の issue)、VulnCheck の勧告があります。本記事では攻撃の詳細は扱いません。

数値と出典(2026-11-02 時点)

CVE箇所種類必要な権限CVSS v3.1CVSS v4.0CWEEPSS
CVE-2026-119050PandasTools(pandas.py)安全でないリフレクション不要(ベクター上)8.19.2CWE-4700.43%(11/1)
  • NVD の状態は Deferred で、NVD 自身の評価はありません。CVSS は VulnCheck(CNA)の値です。
  • EPSS(FIRST)は 2026-11-01 の算出で 0.43%(パーセンタイル 37%)です。
  • KEV(CISA の悪用確認済みカタログ)には掲載がありません(2026-11-02 取得、2026-10-30 版・1766 件)。実際の攻撃での悪用は確認していません。

severity を high とした理由

CVSS は v3.1 が 8.1、v4.0 が 9.2 で、認証不要・利用者の操作不要・影響が機密性・完全性・可用性のすべて「高」です。一方で、攻撃条件が複雑(AC:H)とされ、成立にはプロンプトインジェクションが通る構成であることが前提です。悪用の確認・KEV はなく、EPSS も 0.43% と低く、修正版は未確認です。このため critical ではなく high としています。エージェントが外部の文書を読む構成で PandasTools を使っている環境では、実質的なリスクはさらに高くなります。

対応として考えられること

  1. Agno を使ったエージェントを自社で動かしていないか確認し、PandasTools を有効にしているかを洗い出します。
  2. PandasTools を使う必要がなければ、有効化を外します(推定)。
  3. 使う場合は、外部から取り込んだ文書・Web ページなど信頼できない入力を、このツールを持つエージェントに読ませない構成にします(推定)。
  4. エージェントを動かす環境の権限を最小化します。読み取れるファイル、書き込めるディレクトリ、外部への通信を制限し、コンテナなどで隔離します(推定)。
  5. 公式の更新情報と issue を確認し、修正版が出たら更新します。出るまでは上記の回避を続けます。
  6. エージェントのログで、pandas の想定外の関数(read_pickle など)の呼び出しがないか確認します(推定)。

未確認の点

  • 実際の攻撃での悪用は確認していません。
  • 修正版・回避策の有無と版番号は確認できていません。影響を受ける版の下限も不明です。
  • 攻撃が成立する具体的な前提条件(ファイルを置く手段など)は、NVD の説明からは分かりません。
  • NVD 自身の評価は未実施(Deferred)です。CVSS は CNA の値です。

この記事について

出典

この記事を共有