こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
04/27/2018にsystemdの脆弱性情報(Moderate: CVE-2019-3843, CVE-2019-3844)が公開されましたので、簡単に纏めます。
[関連リンク(最新5件)]
systemdの脆弱性情報(Important: CVE-2019-6454)
systemdの複数の脆弱性情報(Moderate: CVE-2018-15686, CVE-2018-15687 / Important: CVE-2018-15688)
一次情報源
関係するCVEとPriority/CVSS
- CVE-2019-3843
- SUSE
- CVSS v3 Base Score: 4.5
- Vector: AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
- Red Hat Customer Potal
- CVSS v3 Base Score: 4.5
- Vector: CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
- SUSE
- CVE-2019-3844
- SUSE
- CVSS v3 Base Score: 4.5
- Vector: AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
- Red Hat Customer Potal
- CVSS v3 Base Score: 4.5
- Vector: CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
- SUSE
修正方法
各ディストリビューションの情報を確認してください。
脆弱性概要(詳細は一次情報源をご確認ください)
- CVE-2019-3843
- Bug 1684607 (CVE-2019-3843) – CVE-2019-3843 systemd: services with DynamicUser can create SUID/SGID binaries
- DynamicUserプロパティを用いているsystemdサービスによるSUID/SGIDバイナリの作成の可能性
- DynamicUsreプロパティを設定されている場合、ユニットがスタートする際にUNIXユーザ/グループのペアが動的に割り当てられ、停止する際にリリースされます。このプロパティを有効にしてsystemdサービスで使われている場合、一時的な権限でプログラムを実行できる可能性があるSUID/SGIDされたバイナリファイルをシステムに残す可能性が有ります。ローカルの攻撃者は、これを利用して将来UID/GIDがリサイクルされる際に、異なるサービスが所有するリソースにアクセスすることが出来る可能性があります。
- Bug 1684610 (CVE-2019-3844) – CVE-2019-3844 systemd: services with DynamicUser can get new privileges and create SGID binaries
- DynamicUserプロパティを用いているsystemdサービスによる新たな特権の獲得とSGIDバイナリの作成の可能性
- DynamicUsreプロパティを設定されている場合、ユニットがスタートする際にUNIXユーザ/グループのペアが動的に割り当てられ、停止する際にリリースされます。このプロパティを有効にしてsystemdサービスで使われている場合、SUIDバイナリファイルの実行を通して新しい特権を獲得できることがわかりました。これにより、setgidビットが設定されたバイナリを作成することが出来ます。ローカルの攻撃者は、これを利用して将来GIDがリサイクルされる際に、異なるサービスが所有するリソースにアクセスすることが出来る可能性があります。
PoC
この脆弱性を利用して、DynamicUser=yesにしたサービスが一時的に作成したファイル(/usr/bin/idコマンドのコピー)を利用して、一般ユーザが実行した際にその他のグループ(cdrom, floppy, sudo等)として実行できることを確認します。
エクスプロイトコード(breakout_assisted.c, breakout_helper.c)はこちらのサイトでは念の為割愛します。
sios@debian:~/2019-3843-3844$ ./breakout_helper connected to other chroot, sending cwdfd... all ok on this side! sios@debian:~/2019-3843-3844$ ls -la 合計 144 drwxrwxrwx 2 sios sios 4096 5月 1 10:25 . drwxr-xr-x 9 sios sios 4096 5月 1 10:19 .. -rwxr-xr-x 1 sios sios 17432 5月 1 10:24 breakout_assisted -rw-r--r-- 1 sios sios 1932 5月 1 10:19 breakout_assisted.c -rwxr-xr-x 1 sios sios 16872 5月 1 10:20 breakout_helper -rw-r--r-- 1 sios sios 1074 5月 1 10:20 breakout_helper.c -rwsr-xr-x 1 64642 64642 43808 5月 1 10:25 suid_dst -rwxr-xr-x 1 sios sios 43808 5月 1 10:21 suid_src sios@debian:~/2019-3843-3844$ ./suid_dst uid=1000(sios) gid=111(sios) euid=64642 groups=111(sios),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),106(kvm),108(netdev),114(libvirt),64055(libvirt-qemu)
主なディストリビューションの対応状況
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS
- Ubuntu
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-3843.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-3844.html
- SUSE/openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
[参考]
セキュリティ系連載案内
- OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
- OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
- OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2018のレポートが紹介されています。
- OSSセキュリティ技術の会の面により、@ITで「OSS脆弱性ウォッチ」が連載されています。
- OSSセキュリティ技術の会の面により、@ITで「OpenSCAPで脆弱性対策はどう変わる?」が連載されています。
- OSSセキュリティ技術の会のメンバーにより、@ITで「Berkeley Packet Filter(BPF)入門」が連載されています。
セミナー情報1
2019/07/31 10:00-17:00で開催される、一般社団法人 日本情報システム・ユーザ協会(JUAS)様による有料ハンズオンセミナー「ハンズオンで学ぶ!クラウド時代の運用管理とセキュリティ対策 」にて当ブログの筆者「面 和毅」が講師を努めます。
本セミナーでは、大手ベンダーや外資系企業、ユーザー企業などでセキュリティの専門家として20年以上の経験を持ち、現在、セキュリティエバンジェリストとして活躍する講師が実体験を交えながら、クラウド上のサーバーを安価に守る方法を、演習をまじえ、具体的にお伝えします。
https://juasseminar.jp/seminars/view/4119290にて申し込みを行っております。奮ってご参加ください。
セミナー情報2
2019/05/30 18:00-22:00で、「「やってはイケナイ」をやってみよう」セミナーを行います。
このセミナーでは、実際に色々な「やってはイケナイ」をデモを交えて行い、実際にどのような問題が発生するのかを確認し、その様な万が一の場合を防ぐために行っておくべき対策を紹介していきます。
https://sios.connpass.com/event/129136/がプログラム内容と申し込みの詳細になります。奮ってご参加下さい。