こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
03/08/2022にLinux Kernelの脆弱性(Important: CVE-2022-0847 (Dirty Pipe))が公開されました。「Dirty Cowと同じような脆弱性」ということで、「Dirty Pipe」と名前が付けられており、既にPoCも公開されていることからインパクトも大きいと思われます (5.16.11, 5.15.25, 5.10.102で修正されており、ローカルユーザによる攻撃が必要なのでパニックにならないでください)。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。
情報は逐次更新していきます。
【2022/03/09追記】PoC情報を追記しました。
PoC動画
Dirty Pipe (CVE-2022-0847) PoC on Red Hat Enterprise Linux 9beta (SELinux Enabled)
PoC
SELinuxを有効にしたRed Hat Enterprise Linux 9-betaでPoCコードを動かすと、SELinuxが有効になっていても特権を取得されてしまいます。
[sios@rhel9b CVE-2022-0847]$ getenforce
Enforcing
[sios@rhel9b CVE-2022-0847]$ ./dirtypipez /usr/bin/su
[+] hijacking suid binary..
[+] dropping suid shell..
[+] restoring suid binary..
[+] popping root shell.. (dont forget to clean up /tmp/sh ;))
sh-5.1# id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
sh-5.1# id
uid=0(root) gid=0(root) groups=0(root),10(wheel),1000(sios) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
SWベンダーの関連リンク
RHSB-2022-002 Dirty Pipe – kernel arbitrary file manipulation – (CVE-2022-0847) (Red Hat)
SUSE statement on “Dirty Pipe” attack(SuSE)
(Azure/AKS) CVE-2022-0847: Linux kernel: overwriting read-only files #2829
セキュリティベンダーやNews等のリンク
“Dirty Pipe” Linux kernel bug lets anyone write to any file. (Sophos)
New Dirty Pipe Linux Vulnerability Is the Worst in Years (How to Geek)
Priority
CVE番号 | 影響するバージョン | 一次情報源 | Priority | CVSS Score / CVSS Vector |
---|---|---|---|---|
CVE-2022-0847 | 5.8 <= Linux Kernel < 5.16.11, 5.15.25, 5.10.102 | Red Hat: 7.8 Important | Red Hat: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
修正方法
各ディストリビューションの情報を確認してください。
CVE概要(詳細はCVEのサイトをご確認ください)
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0847
- Read-Onlyファイルへの書き込みによる特権昇格の可能性
- Linux Kernelで、新しいパイプバッファー構造体の「flag」メンバーがcopy_page_to_iter_pipe()とpush_pipe()関数で不完全な初期化をされており、古い値が残ったままになっている可能性があるという問題が見つかりました。非特権のローカルの攻撃者はこれを利用してページキャッシュ中のページに書き込みを行うことでRead Onlyのファイルに書き込みを行うことで特権を昇格することなどが可能です。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
- Red Hat Enterprise Linux/CentOS
- Ubuntu
- SUSE/openSUSE
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
また、OSの再起動が発生しますので、pacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。
日々のメモを更新しています。
セキュリティ関係ニュースを更新しています。個別で情報出せるようになる前の簡単な情報・リンクなんかも載せていきます。