Cyber Resilience

CVE-2022-33891

RCE in Apache Spark ≤ 3.0.3

CISA KEVActive ExploitationEUVD ExploitedPublic PoCRCECommand Injection
Published
18 July 2022
Modified
23 October 2025
KEV Added
07 March 2023
CVSS Score v3.1 8.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.93 99.8th percentile
Risk Priority 90 floored blend · peak EPSS

Summary

CVE-2022-33891 is a high-severity OS Command Injection (CWE-78) vulnerability in Apache Spark. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Command and Scripting Interpreter (T1059); ranked in the top 0.2% of CVEs by exploit likelihood; CISA has added it to the Known Exploited Vulnerabilities catalog; a public proof-of-concept is referenced.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

The vulnerability is an OS command injection flaw (CWE-78) in Apache Spark's web UI authentication and authorization logic. When spark.acls.enable is set to true alongside an authentication filter, the HttpSecurityFilter code path accepts an arbitrary username supplied by the client. This value reaches a permission-checking routine that constructs and executes a Unix shell command without proper sanitization, allowing the supplied input to be interpreted as part of the command line. The issue affects Spark versions 3.0.3 and earlier, 3.1.1–3.1.2, and 3.2.0–3.2.1.

An attacker who can reach the Spark UI (typically over the network) can supply a crafted username that bypasses the intended ACL checks. Successful exploitation grants the ability to run arbitrary operating-system commands with the privileges of the user account under which the Spark process is executing, resulting in full confidentiality, integrity, and availability impact on the host.

Public references, including an Apache security announcement thread and oss-security postings, document the flaw and point to updated Spark releases that correct the input handling in HttpSecurityFilter. Separate exploit artifacts published on Packet Storm demonstrate unauthenticated command injection against the same code path.

The CVE carries a CVSS score of 8.8 and maintains a very high EPSS score (current 0.9351, peak 0.9745), indicating sustained exploitation interest after disclosure.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)
KEV Date Added
07 March 2023

Related Threats

MITRE ATT&CK Enterprise Techniques

T1059 Command and Scripting Interpreter Execution
Adversaries may abuse command and script interpreters to execute commands, scripts, or binaries.
T1059.003 Windows Command Shell Execution
Adversaries may abuse the Windows command shell for execution.
T1059.004 Unix Shell Execution
Adversaries may abuse Unix shell commands and scripts for execution.
T1059.001 PowerShell Execution
Adversaries may abuse PowerShell commands and scripts for execution.
T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2020-1956Same vendor: Apacheboth on KEV
CVE-2020-11978Same vendor: Apacheboth on KEV
CVE-2023-32007Same product: Apache Spark
CVE-2021-21315Same vendor: Apacheboth on KEV
CVE-2022-24697Same vendor: Apache
CVE-2022-24288Same vendor: Apache
CVE-2026-62392Same vendor: Apache
CVE-2025-54941Same vendor: Apache
CVE-2015-7611Same vendor: Apache
CVE-2023-22946Same product: Apache Spark

Affected Assets

apache
spark
≤ 3.0.3 · 3.1.1 — 3.1.2 · 3.2.0 — 3.2.1

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.2.5
  • V1.2.8
  • V15.2.5

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-78

Platform-independent apps typically execute inside a managed runtime or sandbox that restricts direct OS command execution, reducing the ability to exploit OS command injection.

addresses: CWE-78

Validates inputs to block special elements that would alter OS command execution.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

PR.PS-06's SDLC practices directly require secure coding and input handling that blocks command-injection defects, yet the single broad outcome leaves many specific neutralization vectors and verification gaps unaddressed.

PR.PS-02 partial match
prevents

Routine patching/maintenance can remediate known command-injection CVEs in dependencies (partial forward) but does nothing to stop developers from introducing improper neutralization in custom code (none reverse).

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing and code review target insecure use of operating-system command interfaces, catching command-injection flaws introduced during development.

References