Debian または Moxa Industrial Linux(MIL) を利用しているファームウェアに対しては、以下のステップに従い、policykit-1パッケージをCVE-2021-4034に対応した最新バージョンに更新してください。
ステップ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 Debianリポジトリがなければ、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...]
See the pkexec manual page for more details.
ステップ5. パッチをすぐに適用できない方には、以下のコマンドを使用してpkexecのSUID-bitを削除する必要があります。
root@Linux:~$ chmod 0755 /usr/bin/pkexec
|