Linux Kernelの脆弱性(Important: CVE-2022-0847 (Dirty Pipe))

こんにちは。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

Priority

CVE番号 影響するバージョン 一次情報源 Priority CVSS Score / CVSS Vector
CVE-2022-0847 5.8 <= Linux Kernel < 5.16.11, 5.15.25, 5.10.102

The Dirty Pipe Vulnerability

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のファイルに書き込みを行うことで特権を昇格することなどが可能です。

主なディストリビューションの対応方法

詳細は、各ディストリビューションの提供元にご確認ください


対処方法

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

また、OSの再起動が発生しますので、pacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。

日々のメモを更新しています。

セキュリティ関係ニュースを更新しています。個別で情報出せるようになる前の簡単な情報・リンクなんかも載せていきます。

前へ

Linux Kernelの脆弱性(Important: CVE-2022-0492)

次へ

Linux Kernelの脆弱性(Important: CVE-2022-0847 (Dirty Pipe))とPoC(RHEL9beta+SELinux)