GHSA-9437-39hj-3c93
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAttacker holds or obtains Spark job submission rights
-
DeliveryCraft Spark job with XSS payload in spark.app.name
-
ExploitSubmit job to cluster; job runs and completes
-
InstallPayload stored in History Server metadata
-
C2Social-engineer admin to visit History Server page
-
ExecuteStored XSS executes in admin browser
-
ImpactSession token exfiltrated or admin-context actions performed
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization HTML tag escaping
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires both of the following conditions to be satisfied simultaneously: (1) The attacker must hold Spark job submission permissions on the cluster - this is a privileged operation typically granted only to data engineers, data scientists, or pipeline operators, not arbitrary network users. (2) A higher-privileged user (e.g., a Spark platform administrator) must be socially engineered into visiting the Spark History Server web page where the malicious job's history entry is displayed; the XSS fires passively on page load with no further interaction. The vulnerability is meaningless if all job submitters are already trusted at the same level as History Server viewers (no privilege gap), or if the History Server is access-controlled such that only admins can reach it but also only admins can submit jobs. |
| Impact | Apache's self-assessment of Low severity is well-calibrated to the real-world risk. No CVSS vector was provided in the input, but independently derived metrics yield approximately CVSS 3.1 ~4.6 (AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N), consistent with a Low-to-Medium rating. No EPSS score is available. The vulnerability is not in CISA KEV, and no public exploit or POC has been identified. The attack chain requires two non-trivial prerequisites to be satisfied simultaneously: the attacker must hold job submission permissions (a privileged role in most enterprise Spark deployments) and must successfully social-engineer a higher-privileged administrator into visiting the History Server page displaying the malicious job. The impact is bounded to browser-level session compromise ('minimal privilege escalation in browser' per the advisory) - this does not offer direct cluster access, code execution on the server, or data exfiltration beyond what the admin session exposes. For most enterprises this is a patch-on-next-cycle issue; emergency response is not warranted unless the History Server is exposed to a broad, untrusted population of job submitters. |
| Exploit ScenarioDerived | An attacker with Spark job submission rights crafts a job with a malicious application name such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Stored XSS in the Apache Spark History Server (versions 3.0.0 through 3.5.7) allows a user with Spark job submission rights to inject unsanitized HTML/JavaScript into the History Server web UI via the application name field (spark.app.name), which executes in the browser of any higher-privileged user who subsequently views that job's history page. Apache rates this low severity due to layered prerequisites - the attacker must hold job submission rights and socially engineer an administrator into visiting the History Server. No public exploit has been identified at time of analysis; the vendor-released fix is Spark 3.5.8.
RemediationAI
Vendor-released patch: Apache Spark 3.5.8. Upgrade the Spark History Server deployment to version 3.5.8 or later, as directed by the Apache oss-security advisory (https://seclists.org/oss-sec/2026/q3/635) and tracked in SPARK-53337. Prior to patching, the most effective compensating control is restricting History Server network access to trusted administrator IP ranges only via firewall rules or a reverse-proxy with authentication - this prevents low-trust job submitters from sharing a History Server instance with administrators, eliminating the cross-privilege escalation path. A secondary control is auditing who holds Spark job submission rights and limiting that population to users already trusted at the administrator level; this collapses the attacker/victim privilege gap and makes the XSS meaningless. Note that neither workaround addresses the underlying escaping defect and both may be operationally disruptive in large shared-cluster environments.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 6 packages in maven, pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in the Apache Spark History Server's Web UI component (Maven artifact org.apache.spark), specifically in the server-side rendering of the spark.app.name metadata field for completed applications. The History Server reads application name from job metadata and injects it into HTML output without applying HTML entity encoding, a classic CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS) weakness. The Jira issue SPARK-53747 ('spark.app.name should be escaped') and its parent SPARK-53337 ('Spark Web: Ensure the application name get escaped', now Closed) confirm the exact injection point. The History Server is a standalone web service bundled with Apache Spark that displays historical Spark application metadata to operators; it typically runs on an internal port accessible to data platform administrators. The affected version range spans 3.0.0 through 3.5.7 across the full org.apache.spark artifact group.
Know when Spark gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Requires job-submission privileges (PR:L), admin social engineering (AC:H, UI:R), and achieves only browser-scope impact on the victim session (S:C, C:L/I:L, A:N).
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
3Description PRE-NVD
Blast Radius
ecosystem impact- 163 maven packages depend on org.apache.spark:spark-core_2.12 (107 direct, 57 indirect)
- 6 pypi packages depend on pyspark (6 direct, 0 indirect)
Ecosystem-wide dependent count for version 3.0.0 and other introduced versions.
Articles & Coverage 2
Executive ViewAI
Apache Spark History Server (versions 3.0.0-3.5.7) contains a stored cross-site scripting vulnerability that allows internal users with job submission rights to inject malicious code targeting administrators, risking credential compromise and unauthorized administrative actions. The attack requires both Spark access privileges and social engineering but poses significant risk to sensitive administrator accounts. Organizations should prioritize upgrading to version 3.5.8 to eliminate this targeted vulnerability.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
The Apache Spark UI offers the possibility to enable ACLs via the configuration option spark.acls.enable. Rated high sev
In Apache Spark 2.4.5 and earlier, a standalone resource manager's master may be configured to require authentication (s
An issue was discovered in Ignite Realtime Spark 2.8.3 (and the ROAR plugin for it) on Windows. Rated high severity (CVS
Directory traversal vulnerability in Spark 2.5 allows remote attackers to read arbitrary files via a .. Rated high sever
From version 1.3.0 onward, Apache Spark's standalone master exposes a REST API for job submission, in addition to the su
Signing cookies is an application security feature that adds a digital signature to cookie data to verify its authentici
In Apache Spark versions prior to 3.4.0, applications using spark-submit can specify a 'proxy-user' to run as, limiting
In all versions of Apache Spark, its standalone resource manager accepts code to execute on a 'master' host, that then r
In Apache Spark 2.1.0 to 2.1.2, 2.2.0 to 2.2.1, and 2.3.0, it's possible for a malicious user to construct a URL pointin
** UNSUPPORTED WHEN ASSIGNED ** The Apache Spark UI offers the possibility to enable ACLs via the configuration option s
In Apache Spark 1.6.0 until 2.1.1, the launcher API performs unsafe deserialization of data received by its socket. Rate
The REST interface in Cisco Spark 2015-07-04 allows remote attackers to bypass intended access restrictions and create a
EUVD-2026-69899
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB