安全研究

漏洞預警 | SaltStack遠(yuǎn)程命令執行漏洞

0x00  漏洞編号


  • CVE-2020-11651
  • CVE-2020-11652



0x01  漏洞概述

SaltStack 是基于 Python 開(kāi)發的一(yī)套C/S架構配置管理工(gōng)具。國(guó)外某安全團隊披露了 SaltStack 存在認證繞過漏洞(CVE-2020-11651)和目錄遍曆漏洞(CVE-2020-11652)。在 CVE-2020-11651 認證繞過漏洞中,攻擊者通(tōng)過構造惡意請求,可以繞過 Salt Master 的驗證邏輯,調用相(xiàng)關未授權函數功能(néng),從(cóng)而可以造成遠(yuǎn)程命令執行漏洞。在 CVE-2020-11652 目錄遍曆漏洞中,攻擊者通(tōng)過構造惡意請求,讀(dú)取服務器(qì)上(shàng)任意文件(jiàn)。


0x02  漏洞描述

CVE-2020-11651

ClearFuncs 類在處理授權時,并未限制 _send_pub() 方法,該方法直接可以在發布隊列消息,發布的消息會(huì)通(tōng)過 root 身份權限進行執行命令。
ClearFuncs還(hái)公開(kāi)了_prep_auth_info()方法,通(tōng)過該方法可以獲取到(dào)"root key",通(tōng)過獲取到(dào)的"root key"可以在主服務上(shàng)執遠(yuǎn)程調用命令。CVE-2020-11652

whell 模塊中包含用于在特定目錄下(xià)讀(dú)取、寫入文件(jiàn)命令。函數中輸入的信息與目錄進行拼接可以繞過目錄限制。

在salt.tokens.localfs類的get_token() 方法(由 ClearFuncs 類可以通(tōng)過未授權進行調用)無法删除輸入的參數,并且作為(wèi)文件(jiàn)名稱使用,在路(lù)徑中通(tōng)過拼接”..”進行讀(dú)取目标目錄之外的文件(jiàn)。唯一(yī)的限制時文件(jiàn)必須通(tōng)過salt.payload.Serial.loads()進行反序列化。


0x03 影響版本

< 2019.2.4

< 3000.2


0x04 修複

升級至安全版本

官方鏈接地址

https://community.saltstack.com/blog/critical-vulnerabilities-update-cve-2020-11651-and-cve-2020-11652/




Copyright © 2019 All Rights Reserved Designed
杭州位育網絡科技有限公司