<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    CVE-2022-33891 Apache Spark shell 命令注入漏洞

    VSole2022-07-20 06:23:36

    漏洞信息

    近日監測到 Apache Spark 官方通報了一個命令注入漏洞 CVE-2022-33891:

    Apache Spark 支持啟動 ACL 來為 Web UI 訪問提供身份驗證,當 ACL 啟動時可以通過構造特殊請求用戶名導致 RCE ,漏洞影響版本:

    •  versions 3.0.3 and earlier
    •  versions 3.1.1 to 3.1.2
    •  and versions 3.2.0 to 3.2.1

    漏洞分析

    下載`spark-3.2.1-bin-hadoop2.7.tgz` ,并配置啟動 ACL 和遠程調試:

    分析前先查看一下補丁:

    對 `ShellBasedGroupsMappingProvider#getUnixGroups` 函數代碼進行了修改。

    查詢官方文檔可知,Apache Spark 啟動 ACL 后, Web UI 的 HTTP 請求需要通過 `HttpSecurityFilter` 全局過濾器的鑒權處理,定位 `HttpSecurityFilter#doFilter` :

    提取 GET 參數 `doAs` 賦值給 `effectiveUser` 變量,然后進入 `checkUIViewPermissions` 函數:

    跟進 `isUserInACL` :

    這里正好進入了補丁修復的 `ShellBasedGroupsMappingProvider#getUnixGroups` 函數:

    跟進 `executeAndGetOutput` 函數:

    直接將用戶名拼接進入命令執行參數中,導致出現了 RCE 漏洞。

    漏洞復現

    利用反斜杠直接進行命令注入,結果如下:

    修復方式

    前面已經提到,新版本更新了 `ShellBasedGroupsMappingProvider` ,去掉了 `bash` 的直接調用,先后執行兩次 `Process#start` ,最后執行語句變為:

    apacheshell
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    Apache Spark 支持啟動 ACL 來為 Web UI 訪問提供身份驗證,當 ACL 啟動時可以通過構造特殊請求用戶名導致 RCE 。
    當漏洞綜合評估為風險嚴重、影響面較廣、技術細節已披露,且被安全社區高度關注時,就將該漏洞列為必修安全漏洞候選清單。
    記一次java代碼審計
    2021-09-16 15:10:38
    就直接進行審計把。不說那么多,環境部署好了,開干。說一下我審計的前提準備。過濾器是一定要看的。當然才開始審計的時候可能會看的比較惱火,看不懂當我沒說。涉及到一些函數處理的可以等到實際挖洞的時候再跟也行。涉及框架的,框架的漏洞涉及的組件要清楚,框架的配置文件再看看,就開沖。才開始代碼審計,還是每個接口都看一下。
    2022年04月12日,Apache官方發布了Apache Struts2的風險通告,漏洞編號為CVE-2021-31805,漏洞等級:高危,漏洞評分:8.5。Apache Struts 2是一個用于開發Java EE網絡應用程序的開放源代碼網頁應用程序架構。它利用并延伸了Java Servlet API,
    The Hacker News 網站披露,網絡會議服務 Apache OpenMeetings 存在多個安全漏洞,Sonar 漏洞研究員 Stefan Schiller 表示網絡攻擊者可以利用這些漏洞奪取管理帳戶的控制權,并在易受影響的服務器上執行惡意代碼。
    日前,JFrog的研究人員披露在Apache Cassandra數據庫中發現高嚴重性安全漏洞,如果不加以解決,該漏洞可幫助惡意人員在受影響的計算設備上獲得遠程代碼執行權限。
    sqlmap --os-shell原理
    2021-09-24 07:04:41
    前言當數據庫為MySQL,PostgreSQL或Microsoft SQL Server,并且當前用戶有權限使用特定的函數。
    F5 Networks在上周三發文稱,他們自2017年7月以來一直在追蹤利用Apache Struts 2遠程代碼執行(RCE)漏洞CNNVD-201703-152、CVE-2017-5638發起的惡意活動。在最初的活動中,攻擊者主要利用這個漏洞來感染運行在Linux操作系統上的Struts框架,以挖掘以太幣Electroneum (ETN)加密貨幣。
    這里你可以理解為 a = 1,同時還可以 a =2、a = 3 ,不同的值都可以復制給同一個 變量 a 。Shell常見的變量之一系統變量,主要是用于對參數判斷和命令返回值判斷時使用,系統變量詳解如下:。令或程序執行完后的狀態,返回0表示執行成功;顯示當前主機名;
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类