こんにちは。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の情報を更新しました。
[過去の関連リンク(最新5件)]
sudoの脆弱性情報(Moderate: CVE-2021-23239, CVE-2021-23240)
sudoの脆弱性情報(Important: CVE-2019-18634)
一次情報源
Baron Sameditt: Heap-based buffer overflow in Sudo (CVE-2021-3156)
Heap-based buffer overflow in Sudo (CVE-2021-3156)
Major changes between version 1.9.5p2 and 1.9.5p1:
Privilege escalation via command line argument parsing – sudo – (CVE-2021-3156)
CVE-2021-3156: Heap-Based Buffer Overflow in Sudo (Baron Sameditt) / Qualysのブログ。PoCの動画があります。
Priority
CVE番号 | 影響するバージョン | Priority | CVSS Score / CVSS Vector |
---|---|---|---|
CVE-2021-3156 | 1.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 |
関連ニュース
- What Red Hat OpenShift Dedicated and Azure Red Hat OpenShift Customers Should Know about the January 2021 “sudo” Flaw
Red Hat OpenShift Dedicated (OSD) , Azure Red Hat OpenShift (ARO) を使用しているユーザに関しては、”oc debug”機能を用いてsudoコマンドにアクセスできるが、そもそもこの機能を用いるのが高度な特権を持ったコンテナを介してのみのため、本脆弱性自体の影響が”Important”だとしてもOSD/AROユーザにとっての影響は”Low”になります。
- sudoの脆弱性(CVE-2021-3156)に関する注意喚起 (JPCERT)
- 「sudo」に脆弱性「Baron Sameditt」が判明 – root権限奪われるおそれ
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 ...
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS
- CentOS 6
- Ubuntu
https://people.canonical.com/~ubuntu-security/cve/2021/CVE-2021-3156.html
- SUSE/openSUSE
- Arch Linux
- Amazon Linux
- Oracle Linux
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。