先日sudoの脆弱性が公開されました。使っているAWS環境にも対象となるものがあるので対応の流れをまとめておきます。
参考:JPCERT
目次
脆弱性の対象かを確認する
対応しようとログインすると早速sudoのアップデートをしてくださいという内容の文言が表示されました。
Last login: Fri Feb 5 15:03:04 2021
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
5 package(s) needed for security, out of 12 available
Run "sudo yum update" to apply all updates.
上記参考のJPCERTの記事によるとコマンド発行したときのエラーメッセージによって影響バージョンかどうかを判定できるようです。
なお、本脆弱性を発見したQualys社は、"sudoedit -s /"コマンドを実行し、"sudoedit:"から始まるエラーが表示されると脆弱性の影響を受け、"usage:"から始まるエラーが表示されると影響を受けない、という情報を公開しています。
(https://www.jpcert.or.jp/at/2021/at210005.htmlより)
ということなのでつまりこの結果になると対象ということですね。
$ sudoedit -s /
sudoedit: /: not a regular file
sudoのアップデートを確認
$ sudo yum check-update | grep sudo
sudo.x86_64 1.8.23-4.amzn2.2.1 amzn2-core
sudoのアップデートを実施
Amazon Linux 2の場合、この脆弱性の対応は特に難しくはなくコマンド一つで完了します。
$ sudo yum -y update sudo
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Resolving Dependencies
--> Running transaction check
---> Package sudo.x86_64 0:1.8.23-4.amzn2.2 will be updated
---> Package sudo.x86_64 0:1.8.23-4.amzn2.2.1 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
sudo x86_64 1.8.23-4.amzn2.2.1 amzn2-core 844 k
Transaction Summary
================================================================================
Upgrade 1 Package
Total download size: 844 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
sudo-1.8.23-4.amzn2.2.1.x86_64.rpm | 844 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : sudo-1.8.23-4.amzn2.2.1.x86_64 1/2
Cleanup : sudo-1.8.23-4.amzn2.2.x86_64 2/2
Verifying : sudo-1.8.23-4.amzn2.2.1.x86_64 1/2
Verifying : sudo-1.8.23-4.amzn2.2.x86_64 2/2
Updated:
sudo.x86_64 0:1.8.23-4.amzn2.2.1
Complete!
動作を確認する
$ sudoedit -s /
usage: sudoedit [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
prompt] [-T timeout] [-u user] file ...
「usage:」で始まるメッセージに変わったので以上でアップデートが完了です。
参考までにアップデート後のバージョンも確認しておきます。
$ sudo -V
Sudo version 1.8.23
Sudoers policy plugin version 1.8.23
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.23
古いOS(CentOS6など)だと直接パッケージを持ってこないといけないので少し手間がかかりますが、単一パッケージを入れるだけで良さそうです。