Authentication Bypass by Capture-replay in Apache Spark
High7.5CVE-2021-38296 · Published Mar 11, 2022 · updated Oct 25, 2024
Apache Spark supports end-to-end encryption of RPC connections via "spark.authenticate" and "spark.network.crypto.enabled". In versions 3.1.2 and earlier, it uses a bespoke mutual authentication protocol that allows for full encryption key recovery. After an initial interactive attack, this would allow someone to decrypt plaintext traffic offline. Note that this does not affect security mechanisms controlled by "spark.authenticate.enableSaslEncryption", "spark.io.encryption.enabled", "spark.ssl", "spark.ui.strictTransportSecurity". Update to Apache Spark 3.1.3 or later
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| pyspark PyPI | < 3.1.3 | 3.1.3 |
Details and references
- CVSS 3.1
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-294
- Also known as
- BIT-spark-2021-38296, CVE-2021-38296, PYSEC-2022-186
More Apache Spark advisories
All Apache Spark| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| May 22023 | Apache Spark UI vulnerable to Command Injection | High8.8 | 3.2.2 |
| Apr 172023 | Apache Spark vulnerable to Improper Privilege Management | Critical9.9 | 3.3.2+1 more |
| Nov 12022 | Apache Spark vulnerable to Log Injection | Medium5.4 | 3.2.2+1 more |
| Jul 192022 | Apache Spark UI can allow impersonation if ACLs enabled | High8.8 | 3.1.3+1 more |
| Feb 102022 | Improper Authentication in Apache Spark | Critical9.8 | 2.4.6 |
| Aug 82019 | Sensitive data written to disk unencrypted in Spark | High7.5 | 2.3.3 |