sudoの脆弱性情報(Important: CVE-2021-3156 : Baron Samedit)

こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。

01/27/2021にsudoの脆弱性情報(Important: CVE-2021-3156 : Baron Samedit)が公開されています。どのローカルユーザでもパスワード認証を経ずに特権昇格が出来るため、一度ローカルユーザのターミナルを開くことが出来れば権限昇格できてしまうという強烈なものです。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。

【01/27/2021 10:30更新】Amazon Linuxのリンク(ALSA-2021-1478)も加えました。また、詳細情報を追記しました。

【01/27/2021 14:30更新】Oracle Linuxのリンクを加えました。

【01/27/2021 16:00更新】Red Hat OpenShift、JPCERT、Qualysのブログ(PoCの動画付き)を加えました。また、本脆弱性が影響するsudoのバージョン情報を修正しました。

【01/28/2021 07:30更新】CentOS 6の情報、Security Nextのリンクを加えました。

【01/28/2021 19:30更新】CentOS 6の情報を更新しました。




Priority

CVE番号影響するバージョンPriorityCVSS Score / CVSS Vector
CVE-2021-31561.8.2 – 1.8.31p2, 1.9.0 – 1.9.5p1

Red Hat: 7.0 Important

Red Hat: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H

関連ニュース

CentOS 6に関して

CentOS 6はこちらでも触れましたが、11/30/2020を持って EOL(サポートが終了)になりました 。そのため、現時点(01/28/2021 07:40 JST)ではCentOS 6用の問題が修正されたsudoパッケージは提供されていません。

「CetnOS 6のパッケージは提供されるのか?」に関してはこちらのCentOSのフォーラムで質問が出ています。RHEL 6はELS(有償のサポート)に入っていれば更新版のパッケージは提供されますが、サポートに入っている方にだけ提供されます。

CentOS7での差分を見てCentOS 6に当てるという試みも成されているようですが、今の所失敗しているようです(上記フォーラム情報)。

CentOS6を使用されている場合には、

  • sudoを使えないようにする(バイナリをリネームする等)

が、現時点での緩和策では一番確実だと思われます。

CentOS 6に関しての情報は、続報が入り次第更新します。

01/28/2021 19:30 更新

sudo開発サイトでCentOS 5, CentOS 6用のパッケージがダウンロードできるようになりました。

こちらからRHEL/CentOS/Oracle Linux用のパッケージがダウンロードできます。

ディストリビューションの提供ではないですので、お気をつけください(CentOS 6の様にEOLになりパッケージが無い場合にだけ使うと良いと思われます)。

  • 脆弱性のあるバージョンのsudoでsudoeditを使用してみます。
    
    [sios@cent6-poc ~]$ sudo -V
    Sudo バージョン 1.8.6p3
    Sudoers policy plugin version 1.8.6p3
    Sudoers file grammar version 42
    Sudoers I/O plugin version 1.8.6p3
    [sios@cent6-poc ~]$ sudoedit -s /
    [sudo] password for sios:
    sudoedit: /: not a regular file
    
  • sudo本家のサイトからCentOS 6用のパッケージをダウンロードして適用します。
    
    [root@cent6-poc ~]# rpm -Fvh /home/sios/sudo-1.9.5-3.el6.x86_64.rpm
    準備中...                ########################################### [100%]
    1:sudo                   警告: /etc/sudoers は /etc/sudoers.rpmnew として作成されました。
    ########################################### [100%]
    
  • usage:が出力されるため、脆弱性が対応されている事がわかります。
    
    [sios@cent6-poc ~]$ sudoedit -s /
    usage: sudoedit [-AknS] [-r role] [-t type] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user] file ...
    [sios@cent6-poc ~]$
    

修正方法

各ディストリビューションの情報を確認してください。

CVE概要(詳細はCVEのサイトをご確認ください)

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3156
    • ローカルユーザによる特権昇格の可能性
    • 1.9.5p1までのsudoでは、ヒープベースのバッファーオーバーフローにより、どのローカルユーザでも認証を経ずに権限昇格が出来る可能性があります。
    • sudoをsudoeditとして起動し、”-s”オプションを付けた場合には、コマンドラインがバックスラッシュで終わった場合に、ヒープベースのバッファ”user_args”にコピーされた
      境界外の文字がサイズ計算の際に含まれない為、ヒープベースのバッファオーバーフローを引き起こします。

      
      ------------------------------------------------------------------------
      sios@localhost:~$ sudoedit -s '\' `perl -e 'print "A" x 65536'`
      malloc(): corrupted top size
      中止
      ------------------------------------------------------------------------
      
    • 詳しい情報は一次情報を確認してください

脆弱性対応しているかどうかの確認方法

Qualysによると、”sudoedit -s /”を実行して

  • 脆弱性がある場合(Debian bullseyeの場合)は、下記のように”sudoedit:”で始まるエラーが出ます。
    
    sios@testing:~$ sudoedit -s /
    sudoedit: /: not a regular file
    
  • 脆弱性が無い場合(Debian sidの場合)は、下記のように”usage:”で始まるエラーが出ます。
    
    sios@sid:~$ sudoedit -s /
    usage: sudoedit [-AknS] [-r role] [-t type] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user] file ...
    


対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteKatello、Spacewalk等を使うと管理が便利でしょう。

タイトルとURLをコピーしました