Enlightenment用戶環境中存在可獲取root權限的漏洞

Enlightenment 使用者環境中已發現一個漏洞 (CVE-2022-37706),該漏洞允許非特權本機使用者以 root 權限執行程式碼。 該漏洞尚未修復(0-day),但公共網域中已經存在可用的漏洞,並在 Ubuntu 22.04 中進行了測試。

問題出在enlightenment_sys 可執行檔中,該執行檔附帶suid root 標誌並執行某些允許的命令,例如透過呼叫system() 使用mount 公用程式安裝驅動器。 由於產生傳遞給 system() 呼叫的字串的函數操作不正確,因此從正在啟動的命令的參數中刪除了引號,該命令可用於運行您自己的程式碼。 例如,執行 mkdir -p /tmp/net mkdir -p "/tmp/;/tmp/exploit" echo "/bin/sh" > /tmp/exploit chmod a+x /tmp/exploitenglishment_sys /bin/mount 時-o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u),“/dev/../tmp/;/tmp/exploit”/tmp// / 網

由於刪除了雙引號,而不是指定的命令 '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' 不含雙引號的字串將是傳遞給system() 函數“/bin/mount … /dev/../tmp/;/tmp/exploit /tmp///net”,這將導致命令“/tmp/exploit /tmp///net” '單獨執行,而不是作為設備路徑的一部分進行處理。 選擇“/dev/../tmp/”和“/tmp///net”行是為了繞過在englishment_sys中安裝命令的參數檢查(安裝設備必須以/dev/開頭並指向現有文件,並指定掛載點處的三個“/”字元以達到所需的路徑大小)。

來源: opennet.ru

添加評論