RHSB-2022-002 ダーティーパイプ (Dirty Pipe): カーネル任意ファイルの操作 (CVE-2022-0847)
エグゼクティブサマリー
Red Hat は、Linux カーネルに影響を及ぼす脆弱性を認識しています。これは、読み取り専用アクセスモードの場合でも、攻撃者が (メモリー内またはディスク上の) ファイルの内容を変更できるというものです。
この脆弱性には CVE-2022-0847 が割り当てられ、ダーティーパイプ (Dirty Pipe) の脆弱性とも呼ばれています。この問題は 2022 年 3 月 7 日に一般に公開され、セキュリティー上の影響度は 重要な影響 と評価されました。
Red Hat Enterprise Linux 8 (RHEL) では、現在知られている不正行為は機能しません。ただし、根本的な不具合は依然として存在し、悪用の成功につながる他の新たな方法を完全に排除することはできません。
影響を受ける Red Hat 製品は以下のとおりです。
Red Hat Enterprise Linux 8
Red Hat Openshift Container Platform 4
Red Hat Enterprise Virtualization 4
さらに、Red Hat Enterprise Linux 8 (RHEL CoreOS を含む) をベースとした Red Hat 製品も影響を受けますが、脆弱ではありません。これには、Red Hat OpenShift Container Platform 3、Red Hat OpenStack Platform 等の RHEL チャンネルからパッケージを取得する製品が含まれます。これらの製品環境では、必ず基礎となる RHEL カーネルパッケージを最新の状態にしてください。
ご使用のシステムにこの不具合に影響を受けるかどうかを判断するには、以下の「診断」セクションを参照してください。
テクニカルサマリー
新しいパイプバッファー構造の「フラグ」メンバーで、Linux カーネルの copy_page_to_iter_pipe および push_pipe 関数が適切に初期化されず、そのため古い値が含まれる可能性ある、という不具合が確認されました。権限のないローカルユーザーがこの不具合を利用して、読み取り専用ファイルに保持されるページキャッシュのページに書き込みを行い、システム上の権限を昇格させる可能性があります。
これは、適切な初期化が行われないために正しく設定されていない PIPE_BUF_FLAG_CAN_MERGE フラグで、新しいパイプバッファーを作成することによって実証されました。このフラグはパイプバッファーへの書き込みの結合を制御するため、パイプに付随する既存のページへの書き込みが可能になります。ファイルがこの付随するページを保持すると、変更がメモリー内のファイルの共有システム全体ビューに反映され、それ以降のキャッシュフラッシュは、既存の Linux パーミッション設定を無視して、操作されたデータをディスクに書き込みます。
これにより、既存のアクセス制御 (SELinux、標準の Linux パーミッション、ACL、イミュータブルファイル、および「読み取り専用」でマウントされているデバイス) により読み取り専用アクセスしか許可されない場合でも、権限のないユーザーが (メモリー内またはディスク上の) ファイルの特定の内容を上書きすることができます。
PIPE_BUF_FLAG_CAN_MERGE フラグの攻撃ベクターは Red Hat Enterprise Linux 8 では利用できません。したがって、このフラグを悪用する既知の不正行為は機能しません。
詳細は、CVE-2022-0847 を参照してください。
軽減策
現在、この不具合に対する軽減策はありません。SELinux は、この不具合を軽減しません。kpatch は、この問題を軽減することができません。修正版のパッケージがリリースされ次第、そのパッケージに更新してください。
影響を受ける製品の更新
影響を受けるバージョンの Red Hat 製品をご使用のお客様は、エラータが入手可能になり次第、該当製品を更新することが強く推奨されます。お客様には、利用可能な更新を早急に適用したり、適切と思われる軽減策を有効にしたりすることをお勧めします。
製品 | コンポーネント | アドバイザリー/更新[1] |
Red Hat Enterprise Linux 8 | kernel | |
Red Hat Enterprise Linux 8 | kernel-rt | |
Red Hat Enterprise Linux 8.4 Extended Update Support [2] | kernel | RHSA-2022:0831 |
Red Hat Enterprise Linux 8.4 Extended Update Support [2] | kernel-rt | RHSA-2022:0822 |
Red Hat Enterprise Linux 8.2 Extended Update Support [2] | kernel | RHSA-2022:0820 |
Red Hat Enterprise Linux 8.2 Extended Update Support [2] | kernel-rt | RHSA-2022:0821 |
Red Hat Enterprise Linux 8.1 Update Services for SAP Solutions [3] | kernel | RHSA-2022:0823 |
Red Hat Virtualization 4 | redhat-virtualization-host | |
Red Hat OpenShift Container Platform 4 | 保留中のリリース |
[1] 更新の公開後にアドバイザリー/更新のリンクが追加されます。
[2] Red Hat Enterprise Linux Extended Update Support サブスクリプションとは何ですか?
[3] Red Hat Enterprise Linux for SAP Solutions サブスクリプションの概要
診断
以下の脆弱性検出スクリプトを使用すると、現在ご使用のシステムにこの不具合による影響が存在するかどうかを判断できます。正規のスクリプトであることを確認する場合は、OpenPGP 分離署名 もダウンロードします。検証に GPG 署名を使用する方法 の説明は、カスタマーポータルで確認できます。
よくある質問
問: この不具合により読み取り専用コンテンツが改変される仕組みを教えてください。
答: ファイルがアクセスされると、メモリーの「キャッシュされた」リージョンにファイルが読み込まれ、攻撃者はキャッシュされたメモリー内のファイルの内容を変更できるようになります。そのため、ファイルの後続の読み取りは破損したコンテンツを返します。
問: この不具合により、ディスク上の実際のファイルの内容が破損する可能性がありますか。
答: 可能性はあります。指定したコンテンツがディスクへの書き込みを保留している「ダーティページ」メモリーリージョンにある場合、このコンテンツはインターセプトおよび変更を行う傾向があり、ディスクにコミットされたデータは傍受されたコンテンツになります。
問: SELinux により軽減されていますか。
答: SELinux はこの脆弱性を軽減しません。
問: Openstack、Ceph、Satellite などは脆弱ですか?
答: 製品は直接影響を受けません。カーネルは影響を受けたコンポーネントで、システムの影響を受けるかどうかは、製品がインストールされている RHEL バージョンによります。
問: Red Hat は kpatch をリリースしますか。
答: kpatch テクノロジーはこの脆弱性を軽減することができないため、kpatch はリリースされません。
問: RHEL 8 は影響を受けのに、脆弱ではない理由を教えてください。
答: 現在知られている不正使用は、アップストリームのカーネルコミット f6dd97558 (RHEL8 カーネルには存在しない機能) に依存しており、悪用を妨げます。
問: 改変可能であったり、システムの影響や脆弱性を変えるような設定やユーザー設定可能ファイルの句はありますか。
答: システムの影響や脆弱性に影響を与える可能性がある設定句はありません。
問: 不正使用を実行するにあたり特別な要件がありますか。
答: 攻撃者は、システムで実行権限を持つローカルユーザーである必要があります。
謝辞
Red Hat は、この脆弱性を報告していただいた Max Kellermann (CM4all) に感謝いたします。
Comments