CVE-2025-55039
MediumCVSS 6.5Exploitation Probability (EPSS)
Low risk13th percentile - higher than 13% of all known CVEs
Summary
Vulnerability in Apache Spark before versions 3.4.4, 3.5.2 and 4.0.0 concerns an insecure default network encryption cipher for RPC communication between nodes. When network encryption is enabled (spark.network.crypto.enabled=true) but the cipher is not explicitly configured, Spark defaults to AES in CTR mode, which provides encryption without authentication. This allows a man-in-the-middle attacker to modify encrypted RPC traffic undetected.
Risk Assessment
An attacker can flip bits in ciphertext, potentially compromising heartbeat messages or application data, affecting the integrity of Spark workflows. This could lead to unauthorized modifications in data processing.
Recommendation
Configure spark.network.crypto.cipher to AES/GCM/NoPadding to enable authenticated encryption, or enable SSL encryption by setting spark.ssl.enabled=true for stronger transport security.
Other vulnerabilities in Apache Spark
See all- CVE-2017-12612High
In Apache Spark versions 1.6.0 to 2.1.1, the launcher API performs unsafe deserialization of data received by its socket. This makes applications launched programmatically using the launcher API potentially vulnerable to arbitrary code execution by an attacker with access to any user account on the local machine.
- CVE-2022-33891HighActively exploited
The Apache Spark UI offers the possibility to enable ACLs via the configuration option spark.acls.enable. With an authentication filter, this checks whether a user has access permissions to view or modify the application. If ACLs are enabled, a code path in HttpSecurityFilter can allow someone to perform impersonation by providing an arbitrary user name. A malicious user might then be able to reach a permission check function that will ultimately build a Unix shell command based on their input, and execute it. This will result in arbitrary shell command execution as the user Spark is currently running as. This affects Apache Spark versions 3.0.3 and earlier, versions 3.1.1 to 3.1.2, and versions 3.2.0 to 3.2.1.
- CVE-2026-32773Medium
There is a lack of XSS escaping in the Spark History Server prior to 3.5.8 which allows a malicious Spark job to generate arbitrary unescaped frontend code which could lead to a minimal privilege escalation in browser. This CVE is marked as 'low' since the path to exploit requires both relatively high permissions (ability to launch a Spark job) and requires tricking a user with higher permissions to log in and visit the Spark history web page.
Original NVD description (English source)
This issue affects Apache Spark versions before 3.4.4, 3.5.2 and 4.0.0. Apache Spark versions before 4.0.0, 3.5.2 and 3.4.4 use an insecure default network encryption cipher for RPC communication between nodes. When spark.network.crypto.enabled is set to true (it is set to false by default), but spark.network.crypto.cipher is not explicitly configured, Spark defaults to AES in CTR mode (AES/CTR/NoPadding), which provides encryption without authentication. This vulnerability allows a man-in-the-middle attacker to modify encrypted RPC traffic undetected by flipping bits in ciphertext, potentially compromising heartbeat messages or application data and affecting the integrity of Spark workflows. To mitigate this issue, users should either configure spark.network.crypto.cipher to AES/GCM/NoPadding to enable authenticated encryption or enable SSL encryption by setting spark.ssl.enabled to true, which provides stronger transport security.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

