• 我的位置:
  • 首頁
  • -
  • 漏洞預(yù)警
  • -
  • 其他
  • -
  • Sudo權(quán)限提升漏洞
    • CNNVD編號:未知
    • 危害等級: 高危 
    • CVE編號:CVE-2021-3156
    • 漏洞類型: 權(quán)限提升
    • 威脅類型:未知
    • 廠       商:未知
    • 漏洞來源:深信服
    • 發(fā)布時間:2021-01-28
    • 更新時間:2021-01-28

    漏洞簡介

    1、組件介紹

    Sudo是linux及其他類unix系統(tǒng)下的常用指令,用于允許普通用戶執(zhí)行部分root命令的工具,提高權(quán)限控制安全性。

    2、漏洞描述

    近日,深信服安全團隊監(jiān)測到一則Sudo組件存在全線提升漏洞的信息,漏洞編號:CVE-2021-3156,漏洞危害:高危。該漏洞是由于Sudo程序在set_cmnd()函數(shù)存在堆溢出,攻擊者可利用該漏洞在獲得低權(quán)限的情況下,構(gòu)造惡意數(shù)據(jù)進行提權(quán),獲取服務(wù)器最高權(quán)限。

    3、漏洞分析

    Sudo在命令行中工作時,執(zhí)行在shell -c模式下,如果有-s命令行參數(shù),則設(shè)置MODE_SHELL標志。

    該模式下的parse_args函數(shù)對輸入進行了語法檢查,其中對含有\(zhòng)的命令的轉(zhuǎn)義。此后這些命令在set_cnmd將命令行參數(shù)鏈接到緩沖區(qū)user_args,用于按照語法解析后的含義執(zhí)行,但是在命令以單個\結(jié)尾時,會導(dǎo)致循環(huán)判定條件始終為非終止符,從而讀取輸入信息至內(nèi)存越界。

    set_cnmd中的代碼和parse_args中的代碼被不同的條件限定,所以這種情況由于前置判定條件,僅能在同時設(shè)置MODE_EDIT和MODE_SHELL時存在,一般情況下因為設(shè)置MODE_EDIT會導(dǎo)致重置valid_flags,刪除MODE_SHELL從而無法觸發(fā)該漏洞。


    但是當執(zhí)行的身份是sudoedit而不是sudo時,會自動設(shè)置MODE_EDIT但不重置valid_flags.(同時設(shè)置MODE_CHECK和MODE_SHELL也可繞過判定,但是因為同樣會導(dǎo)致重置,無法實現(xiàn))這時會避免轉(zhuǎn)義代碼,到達易受攻擊的代碼。



    漏洞公示

    在使用受影響版本Sudo的Ubuntu設(shè)備復(fù)現(xiàn)該漏洞,效果如下:

    參考網(wǎng)站

    暫無

    受影響實體

    Sudo是絕大多數(shù)類Unix系統(tǒng)默認的用戶權(quán)限切換程序,使用量極大。且此漏洞自1.8.2版本引入起,已經(jīng)有近十年時間,全球有數(shù)千萬操作系統(tǒng)使用了受影響版本的Sudo。此漏洞涉及用戶量過多,導(dǎo)致漏洞影響較大。


    目前受影響的Sudo版本:

    Sudo 1.8.2 - 1.8.32p2

    Sudo 1.9.0 - 1.9.5p1

    補丁

    1、自檢方案

    使用命令

    sudo -V

    如出現(xiàn)的版本號位于受影響的區(qū)間內(nèi),則漏洞存在;

    使用命令

    sudoedit -s /

    如出現(xiàn)sudoedit開頭的報錯,則漏洞存在,出現(xiàn)usage開頭的報錯則不受影響。

    2、官方修復(fù)建議

    當前官方已發(fā)布最新版本,建議受影響的用戶及時更新升級到最新版本。鏈接如下:

    https://www.sudo.ws/dist/

    可以使用以下命令進行升級:

    wget http://www.sudo.ws/dist/sudo-1.9.5p2.tar.gz

    tar -zxf sudo-1.9.5p2.tar.gz

    cd sudo-1.9.5p2

    ./configure

    make

    sudo make install

    最后執(zhí)行sudo -V確認版本是未受影響的版本即可。