【活用ガイド】

JVNDB-2026-008167

Apache Software FoundationのApache Sparkにおける信頼できないデータのデシリアライゼーションに関する脆弱性

概要

本問題はApache Sparkのバージョン3.5.7未満および4.0.1未満に影響します。ユーザーには問題を修正したバージョン3.5.7または4.0.1以上へのアップグレードを推奨します。概要として、Apache Spark 3.5.4以前のバージョンには、Spark History Web UIにおいて、イベントログデータのJacksonによる過剰な許容的デシリアライズのためのコード実行の脆弱性があります。これにより、Sparkのイベントログディレクトリにアクセスできる攻撃者が悪意のあるJSONペイロードを注入し、任意のクラスのデシリアライズを誘発して、Spark History Serverが動作するホスト上でコマンドを実行することが可能となります。脆弱性の詳細として、Spark History ServerはSparkListenerEventオブジェクトに対して@JsonTypeInfo.Id.CLASSを用いたJacksonの多態的デシリアライズを利用しており、攻撃者はイベントJSONに任意のクラス名を指定できます。これにより、org.apache.hive.jdbc.HiveConnectionのような意図しないクラスのインスタンス化が可能となり、デシリアライズ時にネットワークコールなどの悪意ある動作を引き起こすことがあります。攻撃者は改変したJSONコンテンツをSparkのイベントログファイルに注入し、History Serverが起動時やイベントログの読み込み時にそれをデシリアライズさせることで悪用できます。例として、攻撃者はHistory Serverに対してリモートの攻撃者制御サーバーへのJDBC接続を強制し、リモートコマンドインジェクションを実現可能です。攻撃の証明としては、1. イベントログ記録が有効で書き込み可能なディレクトリ(spark-logs)に書き込むSparkを実行し、2. イベントログファイルの冒頭に特定のJSONを注入し、3. ログが改変されたディレクトリを指す状態でSpark History Serverを起動し、4. History Serverが攻撃者のサーバーへJDBC接続を開始してインジェクションが確認されます。影響としては、Sparkイベントログへの書き込み権限を持つ攻撃者がHistory Serverの実行サーバー上で任意コードを実行でき、システム全体の妥協を招く可能性があります。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 8.8 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


Apache Software Foundation
  • Apache Spark 3.5.7 未満
  • Apache Spark 4.0.0
  • Apache Spark 4.0.1

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

Apache Software Foundation Openwall
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 信頼できないデータのデシリアライゼーション(CWE-502) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2025-54920
参考情報

  1. National Vulnerability Database (NVD) : CVE-2025-54920
  2. 関連文書 : [SPARK-52381][CORE][3.5] JsonProtocol: Only accept subclasses of SparkListenerEvent by pjfanning  Pull Request #51323  apache/spark  GitHub
  3. 関連文書 : [SPARK-52381] JsonProtocol: tidy up deserialization - ASF Jira
  4. 関連文書 : [SPARK-52381][CORE][4.0] JsonProtocol: Only accept subclasses of SparkListenerEvent by pjfanning  Pull Request #51312  apache/spark  GitHub
更新履歴

  • [2026年03月23日]
      掲載