CVE-2025-54920

HIGHPre-NVD 8.88.8
EchelonGraph scoreLOW confidence

This high-severity CVE scores 8.8 under CISA-ADP (Vulnrichment) CVSS v3.1 (NVD's own analysis pending). EPSS exploit-prediction score not yet available (the EPSS model rescores nightly; freshly-published CVEs typically appear within 48 hours). GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: cisa-adp
8.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 5%CVSS: 8.8Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

This issue affects Apache Spark: before 3.5.7 and 4.0.1. Users are recommended to upgrade to version 3.5.7 or 4.0.1 and above, which fixes the issue.

Summary

Apache Spark 3.5.4 and earlier versions contain a code execution vulnerability in the Spark History Web UI due to overly permissive Jackson deserialization of event log data. This allows an attacker with access to the Spark event logs directory to inject malicious JSON payloads that trigger deserialization of arbitrary classes, enabling command execution on the host running the Spark History Server.

Details

The vulnerability arises because the Spark History Server uses Jackson polymorphic deserialization with @JsonTypeInfo.Id.CLASS on SparkListenerEvent objects, allowing an attacker to specify arbitrary class names in the event JSON. This behavior permits instantiating unintended classes, such as org.apache.hive.jdbc.HiveConnection, which can perform network calls or other malicious actions during deserialization.

The attacker can exploit this by injecting crafted JSON content into the Spark event log files, which the History Server then deserializes on startup or when loading event logs. For example, the attacker can force the History Server to open a JDBC connection to a remote attacker-controlled server, demonstrating remote command injection capability.

Proof of Concept:

  • Run Spark with event logging enabled, writing to a writable directory (spark-logs).
  • Inject the following JSON at the beginning of an event log file:

{

"Event": "org.apache.hive.jdbc.HiveConnection", "uri": "jdbc:hive2://:/", "info": { "hive.metastore.uris": "thrift://:" } }

  • Start the Spark History Server with logs pointing to the modified directory.
  • The Spark History Server initiates a JDBC connection to the attacker’s server, confirming the injection.

Impact

An attacker with write access to Spark event logs can execute arbitrary code on the server running the History Server, potentially compromising the entire system.

CVSS v3
8.8
EG Score
8.8(low)
EG Risk
44(Track)
EG Risk 44/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity88% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
5%
EPSS %ILE
92%
KEV
Not listed

Published

March 16, 2026

Last Modified

June 17, 2026

Advisory Details (5)

Auto-updated Jul 27, 2026
🔬 Proof of concept available. No patch confirmed yet. Sources: github_pr.
generic🟡 PoC Available

oss-security - CVE-2025-54920: Apache Spark: Spark History Server Code Execution Vulnerability

http://www.openwall.com/lists/oss-security/2026/03/13/4
generic

[SPARK-52381] JsonProtocol: tidy up deserialization - ASF Jira

https://issues.apache.org/jira/browse/SPARK-52381
github_pr

[SPARK-52381][CORE][3.5] JsonProtocol: Only accept subclasses of SparkListenerEvent

Upstream fix in progress (PR #51323 · apache/spark, state=closed)

https://github.com/apache/spark/pull/51323
github_pr

[SPARK-52381][CORE][4.0] JsonProtocol: Only accept subclasses of SparkListenerEvent

Upstream fix in progress (PR #51312 · apache/spark, state=closed)

https://github.com/apache/spark/pull/51312

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 2× in last 7d / 2× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-28 15:35 UTCEPSS rescore
  2. 2026-07-27 14:44 UTCEG score recompute

Frequently asked(5)

What is CVE-2025-54920?
CVE-2025-54920 is a high vulnerability published on March 16, 2026. This issue affects Apache Spark: before 3.5.7 and 4.0.1. Users are recommended to upgrade to version 3.5.7 or 4.0.1 and above, which fixes the issue. Summary Apache Spark 3.5.4 and earlier versions contain a code execution vulnerability in the Spark History Web UI due to overly permissive Jackson…
When was CVE-2025-54920 disclosed?
CVE-2025-54920 was first published in the National Vulnerability Database on March 16, 2026, with the most recent update on June 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2025-54920 actively exploited?
CVE-2025-54920 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 5% probability of exploitation in the next 30 days, which ranks it in the top 8.2% of all scored CVEs.
What is the CVSS score of CVE-2025-54920?
CVE-2025-54920 has a CVSS v3.1 base score of 8.8 (CISA-ADP / Vulnrichment enrichment; NVD's own analysis pending). The EG score is currently aggregating — additional source signals are being incorporated as they become available..
How do I remediate CVE-2025-54920?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2025-54920, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2025-54920

Explore →

Is Your Infrastructure Affected by CVE-2025-54920?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.