GitHub Advisoryadvisory · Maven

GHSA-8wm5-8h9c-47pc Apache Hadoop argument injection vulnerability

CRITICAL Published 2022-08-05 Modified 2022-08-11 Official page ↗
Aliases
CVE-2022-25168
Ecosystem
Maven
Packages
org.apache.hadoop:hadoop-common
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-78, CWE-88
Reviewed
2022-08-11

Affected packages

• Maven org.apache.hadoop:hadoop-common: >= 2.0.0, < 2.10.2 → fixed in 2.10.2 • Maven org.apache.hadoop:hadoop-common: >= 3.0.0-alpha, < 3.2.4 → fixed in 3.2.4 • Maven org.apache.hadoop:hadoop-common: >= 3.3.0, < 3.3.3 → fixed in 3.3.3

Description

Apache Hadoop's `FileUtil.unTar(File, File)` API does not escape the input file name before being passed to the shell. An attacker can inject arbitrary commands. This is only used in Hadoop 3.3 InMemoryAliasMap.completeBootstrapTransfer, which is only ever run by a local user. It has been used in Hadoop 2.x for yarn localization, which does enable remote code execution. It is used in Apache Spark, from the SQL command ADD ARCHIVE. As the ADD ARCHIVE command adds new binaries to the classpath, being able to execute shell scripts does not confer new permissions to the caller. SPARK-38305. "Check existence of file before untarring/zipping", which is included in 3.3.0, 3.1.4, 3.2.2, prevents shell commands being executed, regardless of which version of the hadoop libraries are in use. Users should upgrade to Apache Hadoop 2.10.2, 3.2.4, 3.3.3 or upper (including HADOOP-18136).

Related

Alias · CVE (1)

  • CVE-2022-25168 Apache Hadoop's FileUtil.unTar(File, File) API does not escape the input file name before being passed to the shell. vulnerability

Weakness · CWE (2)

  • CWE-78 Improper Neutralization of Special Elements used in an OS Command weakness
  • CWE-88 Improper Neutralization of Argument Delimiters in a Command weakness

References