← back
CVE-2022-33891

Apache Spark shell command injection vulnerability via Spark UI

CVSS 8.8 HIGHEPSS 93.0%● KEVCWE-78
In short

Apache Spark's web interface has a security flaw that allows attackers to run arbitrary system commands on the server. If ACLs are enabled, an attacker can impersonate a user and execute shell commands with Spark's privileges.

Technical detail

A code path in HttpSecurityFilter permits user impersonation when spark.acls.enable is configured, bypassing authentication checks. An attacker can inject arbitrary input into a permission check function that constructs and executes Unix shell commands, leading to remote code execution with Spark process privileges (CWE-78: OS Command Injection).

Summary generated and translated by AI from the official description.
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.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →