CVE-2025-55039
Description
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.
How to fix
- apache spark3.4.4, 3.5.2 or later
- org.apache.spark:spark-network-common_2.133.5.2, 3.4.4 or later
- org.apache.spark:spark-network-common_2.123.4.4, 3.5.2 or later
- pyspark3.4.4, 3.5.2 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| apache spark | v < 3.4.4, 3.5.0 ≤ v < 3.5.2 | 3.4.4, 3.5.2 |
| org.apache.spark:spark-network-common_2.13Maven | 3.5.0 ≤ v < 3.5.2, v < 3.4.4 | 3.5.2, 3.4.4 |
| org.apache.spark:spark-network-common_2.12Maven | v < 3.4.4, 3.5.0 ≤ v < 3.5.2 | 3.4.4, 3.5.2 |
| pysparkPyPI | v < 3.4.4, 3.5.0 ≤ v < 3.5.2 | 3.4.4, 3.5.2 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.