实验室昨天第一工夫监测到的 0day 破绽,目前已上线检测
破绽形容
Spark 是用于大规模数据处理的对立剖析引擎。
因为 Hadoop 中 ”org.apache.hadoop.fs.FileUtill” 类的“unTar”中针对 tar 文件的解决调了系统命令去解压,造成了 shell 命令注入的危险。
攻击者能够通过该破绽实现任意命令执行。
影响产品:Apache spark
发现工夫:2022-03-24 11:12:38
发现形式:墨菲平安实验室情报预警监控
组件名称:org.apache.spark:spark-core
影响版本:3.1.2, 3.2.1, 3.3.0
缺点类型:shell 命令注入
缺点评级:高危
墨菲平安实验室于 3 月 24 日监测发现 spark 存在 shell 命令注入破绽,已第一工夫报送 CNVD。
破绽剖析
在 spark 3.1.2, 3.2.1, 3.3.0 版本的 core/src/main/scala/org/apache/spark/util/Utils.scala 代码中调用了 FileUtil.unTar 办法对 tar 包进行解压
FileUtil.unTar 办法在非 windows 的环境中调用了 unTarUsingTar 办法
Spark 中调用的 unTarUsingTar 办法为 hadoop 中的 hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java
,其对文件名拼接之后通过 tar 命令进行解压,在处理过程中未对文件名进行本义。
处理倡议
官网已公布补丁,参考链接:https://github.com/apache/spark/commit/057c051285ec32c665fb458d0670c1c16ba536b2
参考链接
https://github.com/apache/spark/commit/057c051285ec32c665fb458d0670c1c16ba536b2
https://issues.apache.org/jira/browse/SPARK-38631
https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FileUtil.java#L892
https://github.com/apache/hadoop/commit/cae749b076f35f0be13a926ee8cfbb7ce4402746