對於使用 Debian 或 Moxa Industrial Linux(MIL) 的韌體,請按照下列步驟,為 CVE-2021-4034 將 policykit-1 套件升級至最新版本。
步驟 1:檢查 Moxa Debian 儲存庫是否列在 apt 原始碼清單中。
在 vi 編輯器中開啟 moxa.source.list。
root@Linux:~$ sudo vi /etc/apt/sources.list.d/moxa.sources.list
或是
root@Linux:~$ sudo vi /etc/apt/sources.list
如果不存在,請將下列一行加入 moxa.source.list,
對於 Debian 9.x,
deb http://deb.debian.com/debian stretch main contrib non-free
對於 Debian 10.x,
deb http://deb.debian.com/debian buster main contrib non-free
對於 Debian 11.x,
deb http://deb.debian.com/debian bulleyes main contrib non-free
步驟 2: 更新至最新的 apt 資訊。
root@Linux:~$ apt-get update
步驟 3: 為 CVE-2021-4034 安裝最新的 policykit-1 套件。
root@Linux:~$ apt-get install policykit-1
步驟 4: 測試此修補程式。
首先,從 github 下載漏洞觸發測試腳本。
moxa@Linux:~/$ git clone https://github.com/berdav/CVE-2021-4034.git
接下來,編譯程式。
moxa@Linux:~/CVE-2021-4034$ make
cc -Wall --shared -fPIC -o pwnkit.so pwnkit.c
cc -Wall cve-2021-4034.c -o cve-2021-4034
echo "module UTF-8// PWNKIT// pwnkit 1" > gconv-modules
mkdir -p GCONV_PATH=.
cp -f /usr/bin/true GCONV_PATH=./pwnkit.so:.
然後,在尚未進行修補的系統中,執行 CVE-2021-4034 測試程式。測試程式將取得 root 權限。
moxa@Linux:~/CVE-2021-4034$ ./cve-2021-4034
# whoami
root
請注意,如果系統已經完成修補,那麼執行測試程式時,它會顯示下列結果。
moxa@Linux:~/CVE-2021-4034$ ./cve-2021-4034
pkexec --version |
--help |
--disable-internal-agent |
[--user username] PROGRAM [ARGUMENTS...]
更多詳細資訊,請參見 pkexec 使用者手冊頁面。
步驟 5: 如果您無法立即進行修補,請使用以下命令從 pkexec 中移除 SUID-bit:
root@Linux:~$ chmod 0755 /usr/bin/pkexec
|