プラットフォーム
python
コンポーネント
keras-team/keras
Kerasのkeras.utils.get_file()関数にパストラバーサル脆弱性が存在します。この脆弱性は、tarアーカイブを抽出する際に、Pythonのtarfile.extractall()メソッドにセキュリティ上の重要なfilter='data'パラメータが指定されていないことが原因です。影響を受けるバージョンはKeras 3.11.3以前です。最新バージョンへのアップグレードにより、この脆弱性は修正されています。
この脆弱性を悪用されると、攻撃者はKerasが安全なパスをフィルタリングしようとしても、PATH_MAXシンボリックリンクの解決エラーにより、ファイルシステム上の任意の場所にファイルを書き込むことが可能になります。これにより、機密情報の窃取、システムの改ざん、さらにはリモートコード実行につながる可能性があります。特に、Kerasを使用してモデルをトレーニングまたはデプロイする環境では、この脆弱性の影響が大きくなる可能性があります。類似の脆弱性は、アーカイブ展開時のフィルタリング不備から発生することがあります。
この脆弱性は2025年11月28日に公開されました。現時点では、公開されているPoCは確認されていませんが、パストラバーサル脆弱性は悪用が容易なため、今後の攻撃の標的となる可能性があります。CISA KEVカタログへの登録状況は不明です。NVDデータベースも参照してください。
Organizations and individuals utilizing Keras for machine learning model development and deployment are at risk. This includes those using Keras within data pipelines that process external data sources, particularly if those sources are not thoroughly vetted. Users relying on shared hosting environments or pre-built container images containing Keras are also potentially vulnerable.
• python / keras:
import os
import tarfile
def check_keras_vulnerability(tar_file_path):
try:
with tarfile.open(tar_file_path, 'r') as tar:
tar.extractall()
print("Extraction successful - potential vulnerability")
except Exception as e:
print(f"Extraction failed: {e}")
# Example usage (replace with a potentially malicious tar file)
check_keras_vulnerability('malicious.tar.gz')• python / keras: Monitor Keras logs for unusual file creation or modification events, particularly in unexpected directories. Look for errors related to symlink resolution or path length limits. • generic web: If Keras is deployed in a web application, monitor web server access logs for requests that attempt to upload or process tar archives from untrusted sources.
disclosure
エクスプロイト状況
EPSS
0.02% (6% パーセンタイル)
CISA SSVC
CVSS ベクトル
この脆弱性への最善の対策は、Kerasを最新バージョンにアップグレードすることです。アップグレードが一時的に利用できない場合は、tarアーカイブの展開を制限するWAFルールを実装するか、信頼できるソースからのアーカイブのみを展開するように構成を変更することを検討してください。また、展開前にアーカイブの内容を厳密に検証するカスタムスクリプトを実装することも有効です。展開後、ファイルシステムの整合性を確認し、不正なファイルが存在しないことを確認してください。
Actualice Keras a una versión que incorpore la corrección para esta vulnerabilidad. Asegúrese de que la función `keras.utils.get_file()` utilice el parámetro `filter='data'` al extraer archivos tar. Como medida preventiva, evite procesar archivos tar de fuentes no confiables.
脆弱性分析と重要アラートをメールでお届けします。
CVE-2025-12638は、Kerasのkeras.utils.get_file()関数におけるパストラバーサル脆弱性です。tarアーカイブの展開時に、ファイルシステム上の任意の場所にファイルを書き込む可能性があります。
はい、Kerasのバージョン3.11.3以前が影響を受けます。最新バージョンへのアップグレードが必要です。
Kerasを最新バージョンにアップグレードすることで修正できます。アップグレードが困難な場合は、WAFルールやカスタムスクリプトによる緩和策を検討してください。
現時点では、公開されているPoCは確認されていませんが、悪用される可能性はあります。
公式アドバイザリは、Kerasのリリースノートまたはセキュリティアナウンスメントで確認してください。
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。