【活用ガイド】

JVNDB-2024-003109

TensorFlow ベースの Keras モデルに含まれる Lambda レイヤにコードインジェクションが発生する問題

概要

Keras 2.13より前のバージョンで作成された TensorFlow ベースの Keras モデルにおいて、モデルに含まれる Lambda レイヤの安全性を確認できない問題が指摘されています。

TensorFlow ベースの Keras モデルをロードして利用する際、load_model メソッドの引数である safe_mode を True に設定することにより、Keras v3 保存形式のモデルに Lambda レイヤが含まれる場合に例外が発生し、レイヤ内でコードがデシリアライズされることを防ぐことができます。しかし、Keras 2.13より前のバージョンにおいてはこのチェック機構が存在しません。そのため、悪意のあるコードがデシリアライズされる Lambda レイヤがモデルに含まれる場合、そのモデルをロードすることによりシステム上で任意のコードが実行される可能性があります。
CVSS による深刻度 (CVSS とは?)

影響を受けるシステム


Keras
  • Keras 2.13 より前のバージョン(TensorFlow をバックエンドとする)

想定される影響

悪意のあるコードを含むモデルをロードすることによりシステム上で任意のコードが実行される。
対策

バージョン 2.13 以上の Keras 2 または Keras 3 を利用し、モデルをロードする際は safe_mode を True に設定してください(デフォルト値は True)。

また、一般的に第三者が作成したモデルを再利用する際は、配布元の信頼性を確認することが必要です。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2024-3660
参考情報

  1. JVN : JVNTA#95942420
  2. US-CERT Vulnerability Note : VU#253266
更新履歴

  • [2024年04月22日]
      掲載