sudoに任意のコマンド実行と情報漏えいの脆弱性( CVE-2017-1000368 )
こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
06/02/2017にsudoの脆弱性情報(CVE-2017-1000368)が公開されました。前回の脆弱性修正(CVE-2017-1000367)が改行文字を含んだ場合に不完全だったということです。また、他のttyからの情報漏えいの可能性も新たに指摘されていますので、この脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
SELinux自体に問題がある訳ではありません。sudoのSELinuxサポート時の動作を悪用しているので、SELinuxがシステムで有効になっていると発生します。
SELinuxは海外では商用アプライアンス等でも有効にされている安定した機能です(日本国内だけは、無効にする傾向が有りますが)。本件から短絡的にSELinuxを無効にするというような判断はしないで下さい。
Priority
Important/High
影響するバージョン
sudo 1.8.6p7 – 1.8.20p1
SELinuxがシステムで有効になっていると発生します。
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- https://www.sudo.ws/alerts/linux_tty.html
sudoが使えるローカルユーザの任意のコマンド実行、また他のttyからの情報漏えいの可能性
重要度 – Important/High
(CVE-2017-1000367):sudoのget_process_ttyname()関数に問題があり、sudoで一部のコマンドが使えるユーザは、ttyを偽装して/dev/shmなどの全ユーザが書き込みできるデバイスにする事が出来ます。/dev/shmはsudoコマンドでSELinuxのロールがオプションで指定されている場合にエラーの標準入力・標準出力・エラーとして使用されます。ファイルの競合状態を起こして、/dev/shm以下のシンボリックリンクがsudoによって開かれる前に別のファイルへのリンクに置き換えることが出来れば、標準出力や標準エラーに任意のファイルを指定することが出来、/etc/shadowや/etc/sudoersなどを上書きすることで、完全な特権を得ることが出来る可能性が有ります。
(新たな脆弱性の指摘):更にコマンドに改行文字を含めることで、sudoが許可した任意のコマンドを任意のttyで実行できます。コマンドによっては、パスワードなどの機密データを別のユーザのtty端末から読み取ることが出来ます。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
Debian
https://security-tracker.debian.org/tracker/CVE-2017-1000368
Red Hat Enterprise Linux/CentOS
Ubuntu
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-1000368.html
SUSE/openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat Satelliteを使うと管理が便利でしょう。
Red Hat Satelliteを用いた一般的なErattaの適用は、『Red Hat Satellite 6でerrataを適用してみる』を
参考にして下さい。
[参考]
https://www.sudo.ws/alerts/linux_tty.html
sudoに完全な特権昇格の脆弱性( CVE-2017-1000367 )