Skip to content

Apache Hadoop argument injection vulnerability

Critical severity GitHub Reviewed Published Aug 5, 2022 to the GitHub Advisory Database • Updated Jul 4, 2023

Package

maven org.apache.hadoop:hadoop-common (Maven)

Affected versions

>= 2.0.0, < 2.10.2
>= 3.0.0-alpha, < 3.2.4
>= 3.3.0, < 3.3.3

Patched versions

2.10.2
3.2.4
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).

References

Published by the National Vulnerability Database Aug 4, 2022
Published to the GitHub Advisory Database Aug 5, 2022
Reviewed Aug 11, 2022
Last updated Jul 4, 2023

Severity

Critical
9.8
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVE ID

CVE-2022-25168

GHSA ID

GHSA-8wm5-8h9c-47pc

Source code

Checking history
See something to contribute? Suggest improvements for this vulnerability.