Azure Linux VMでのsudo脆弱性対応(CVE-2019-14287)
なんだかsudoに脆弱性が発覚し騒がれつつありますね。
それもそのはず、CVSSのスコアが「7.0」と警告レベルを超えて
重要だぜ、というスコアになっているのと、一部分だけを読むと
rootユーザー権限が乗っ取られる、と解釈できる部分があるから
でしょうね。
参考:https://access.redhat.com/security/cve/cve-2019-14287
いや、そもそもCVSSってなんぞ?スコアって?という方は
以下を参考に。
https://www.ipa.go.jp/security/vuln/CVSS.html
まぁいわゆる脆弱性レベルって一概にいっても様々な軸と捉え方が
あるわけで、そこを包括的にオープンな情報として各機関が軸や
考え方をまとめたスコアですよ、ということ。つまりこのスコアを
本人や企業ががどう扱おうと自由なわけですが、エンジニアとしては
今やるべきなの?後回しでもいいの?スルーしていい?というモノサシ
がほしいですよね。
そういう意味では今回のは重要レベルのスコアなので踊らされてしまう
のも無理はないですが、ちゃんと中身を読むとsudoをuser毎に厳密に
権限管理されている場合、root権限を与えていないuserでもroot権限で
実行できてしまうセキュリティホールが見つかったよ、というもの。
言い方を変えるとsudo = root という扱いでしか利用されていない
Linux環境であれば何の問題もないわけです。具体的にはこんな感じ。
通常利用
$ sudo -u#${uid} command
⇒ uidを使ってcommandを実行
問題となった利用方法
$sudo -u#-1 command
もしくは
$sudo -u#4294967295 command
⇒ -1も4294967295も存在しないuidだが、バグで0と解釈されて
しまい、かつ存在しないuidのためパスワードデータベース
への参照もされずPAMも制御外となる、そしてuid=0はroot
のuidのためroot実行されちゃう、というw
で、じゃあどうすんだよ、という話に移る。
今回問題があるsudoのバージョンは1.8.28より前のバージョンが該当
するとのこと。
参考:https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14287
で、Azure VM(やっとここでAzureな話w)のRhelやCentOSのyum upgrade
/update で対応できるかなー、っと思ったけどまだrepositoryに展開されて
いない模様。
# yum list sudo
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* epel: ftp.riken.jp
Installed Packages
sudo.x86_64 1.8.23-4.el7 @base
#※あ、epel-releaseもインストール済でつ。
ということでsudo本家の以下サイトから1.8.28をtar.gzでダウンロードしま
しょ。
https://www.sudo.ws/stable.html
ソースからの展開なのでパッケージ展開と比べてダルいですがコンパイラが
必要なのでgccあたりはあらかじめyum installしておいてください。
tar.gzを展開するとこんな感じ。
./configure、make、make installして反映しましょ。
※rootアカウントが利用するsudoはデフォで/bin/sudoになってます。
このソースからmake installで展開されるのは/usr/bin/sudoのs-linkと
/usr/local/bin/sudoの実態なので、混乱しないように。
自分は混乱するので/bin/sudoを/usr/local/bin/sudoの実態を参照する
ようにS-linkはっておきましたが。
で、例の問題となった脆弱性をつつくコマンドを叩いた結果が以下。
いいね!ちゃんとエラーとなって解釈できているようでつ。
対応方法と対応した後の確認までの記事があまり見つからなかったので
敢えてこの記事を書きましたが、もう一度言っておくとsudo = rootと
いうシンプルな扱いをされている環境では対応の至急性はないです。
repositoryに反映されたら定期的にyum upgradeかけてるし問題なす!
な話です。
ちなみに今回はCentOS(ディストリビューションはRHELと同様)で
試しましたが、JPCERT CCが各ディストリビューション毎の記事を
まとめられていたので、ご参考まで。
https://www.jpcert.or.jp/newsflash/2019101601.html
いじょ