信息來源:hackernews
蘋果的安全專家Joe Vennix發(fā)現(xiàn)了一個漏洞(CVE-2019-18634),它允許非特權Linux和macOS用戶以root身份運行命令。
此漏洞僅能在特殊配置下利用。
僅當“pwfeedback”選項已在sudo配置文件中啟用時才能利用該漏洞。root的 pwfeedback 選項允許在用戶輸入密碼時提供視覺反饋。
專家指出,即使用戶不在用戶文件中也可以觸發(fā)此漏洞。
“無需獲得 root 權限即可觸發(fā)此漏洞,只需啟用 pwfeedback 即可?!?nbsp;sudo 開發(fā)人員 Todd C. Miller 寫道。
“在輸入密碼時,可以通過管道大量輸入sudo進行復現(xiàn)。例如:”
$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Password: Segmentation fault
造成此漏洞的原因有兩個:
-
從終端設備以外的其他設備讀取時一般不會忽略pwfeedback選項。由于缺少終端,因此行擦除字符的版本始終為初始值0。
-
如果存在寫錯誤,擦除星號行的代碼將無法正確重置緩沖區(qū)位置,但是會重置剩余的緩沖區(qū)長度。這將導致getln()函數(shù)寫到緩沖區(qū)以外。”
如果啟用了該選項,可以在用戶配置文件中將“Defaults pwfeedback” 改為 “Defaults !pwfeedback” 。
sudo 維護人員發(fā)布了 root 的 1.8.31版本。
“雖然 sudo 的1.8.26到1.8.30版本中也有邏輯錯誤,但是由于1.8.26之后的版本對EOF處理進行了改動,所以無法利用漏洞?!盡iller解釋道。
在2019年10月,Vennix 發(fā)現(xiàn)了一個Sudo繞過問題,即使“sudo用戶配置”不允許進行root訪問,惡意用戶或惡意程序仍然可以在目標Linux系統(tǒng)上以root用戶身份執(zhí)行任意命令。