Skip to content
Heist/ feed
Back to feed
Medium

Apache Spark, Apache Spark: RPC encryption defaults to unauthenticated AES-CTR mode, enabling man-in-the-middle ciphertext modification attacks

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-55039
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 06:36 UTC · Revision 1

Source evidence

Apache Spark, Apache Spark: RPC encryption defaults to unauthenticated AES-CTR mode, enabling man-in-the-middle ciphertext modification attacks

core-osv · Original source

Published 15 Oct 2025, 07:19 UTC

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.

osv:CVE-2025-55039
Complete source record
{
  "id": "605c8add0bf5250eed62368c2be8f055196a31b4f1cd59562faa9f2dbcbe80d1",
  "url": "https://osv.dev/vulnerability/CVE-2025-55039",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Apache Spark, Apache Spark: RPC encryption defaults to unauthenticated AES-CTR mode, enabling man-in-the-middle ciphertext modification attacks",
    "summary": "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.",
    "evidence": "osv:CVE-2025-55039",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2025-55039",
      "aliases": [
        "CVE-2025-55039",
        "GHSA-6p6v-m64v-jx8q",
        "PYSEC-2025-184"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/apache/spark",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "6729992c76fc59ab07f63f97a9858691274447d0"
                },
                {
                  "introduced": "ce5ddad990373636e94071e7cef2f31021add07b"
                },
                {
                  "fixed": "bb7846dd487f259994fdc69e18e03382e3f64f42"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:apache:spark:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.4.4"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:apache:spark:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "3.5.0"
                      },
                      {
                        "fixed": "3.5.2"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v3.5.2-rc4",
            "v3.5.2-rc3",
            "v3.5.2-rc2",
            "v3.5.2-rc1",
            "v3.4.3-rc2",
            "v3.4.3",
            "v3.4.3-rc1",
            "v3.5.1-rc2",
            "v3.5.1",
            "v3.5.1-rc1",
            "v3.4.2-rc1",
            "v3.4.2",
            "v3.5.0-rc5",
            "v3.5.0",
            "v3.4.1-rc1",
            "v3.4.1",
            "v3.4.0-rc7",
            "v3.4.0",
            "v3.4.0-rc6",
            "v3.4.0-rc5",
            "v3.4.0-rc4",
            "v3.4.0-rc2",
            "v3.4.0-rc1",
            "v3.0.0-preview-rc2",
            "v3.0.0-preview",
            "v3.0.0-preview-rc1",
            "v0.7.0",
            "v0.6.0",
            "0.3-scala-2.8",
            "alpha-0.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-55039.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:49.867125826Z",
      "provider": "osv",
      "references": [
        "https://repo.maven.apache.org/maven2",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/55xxx/CVE-2025-55039.json",
        "https://lists.apache.org/thread/zrgyy9l85nm2c7vk36vr7bkyorg3w4qq",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-55039"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-326",
          "CWE-347"
        ],
        "cna_assigner": "apache",
        "unresolved_ranges": [
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "introduced": "3.5.0"
                  },
                  {
                    "fixed": "3.5.2"
                  },
                  {
                    "fixed": "3.4.4"
                  },
                  {
                    "introduced": "3.5.0"
                  },
                  {
                    "fixed": "3.5.2"
                  },
                  {
                    "fixed": "3.4.4"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StandardRange"
              }
            ]
          }
        ],
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/55xxx/CVE-2025-55039.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-55039",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 518518,
  "published_at": "2025-10-15T07:19:25.493+00:00"
}