Linux Kernel と DirtyCred:8年前から存在していた Dirty Pipe ライクな脆弱性が露見

“As Nasty as Dirty Pipe” — 8 Year Old Linux Kernel Vulnerability Uncovered

2022/08/22 TheHackerNews — 8年前からLinux kernel に存在する、セキュリティ脆弱性の詳細が明らかになり、研究者たちは Dirty Pipe と同じくらい厄介だと述べている。Northwestern 大学の研究者グループにより DirtyCred と名付けられた、この脆弱性 CVE-2022-2588 の悪用に成功すると、最高レベルまでの権限昇格が生じてしまう。

研究者の Zhenpeng Lin/Yuhang Wu/Xinyu Xing は、 「DirtyCred は、非特権カーネル認証情報を、特権カーネル認証情報と交換することで、権限をエスカレートさせる、カーネル・エクスプロイトの概念に属するものだ。カーネル・ヒープ上の重要なデータフィールドを上書きするのではなく、ヒープメモリの再利用メカニズムを悪用して、特権を取得する」と説明している。

この脆弱性の悪用は、次の3ステップで達成される。

  • この脆弱性を悪用し、使用中の非特権クレデンシャルを解放する。
  • su/mount/sshd などの、特権ユーザ空間プロセスをトリガーにして、解放されたメモリ・スロットに特権クレデンシャルを割り当てる。
  • 特権ユーザーとして操作する。

研究者たちによると、この新しい悪用方法は、Dirty Pipe を次のレベルに押し上げ、影響を受けるカーネルの全てのバージョンで機能するという、より一般的で強力なものになっている。

Linux Kernel vulnerability

研究者たちは、「第一に、この悪用法では、特定の脆弱性に限らず、あらゆる脆弱性が Dirty Pipe のようなダブルフリー能力を発揮する。第二に、この悪用方法は、すべてのカーネル保護をバイパスできる Dirty Pipe のようでありながら、Dirty Pipe では不可能な、コンテナからの積極的に脱出の実証さえ可能にする」と述べている

CVE-2022-0847 (CVSS:7.8) として追跡され、Linux kernel 5.8 以降に影響を及ぼす Dirty Pipe は、パイプ・サブシステムにおけるセキュリティの脆弱性のことを指す。Dirty Pipe は、非特権プロセスによる、任意の読み取り可能なファイルへの書き込みを許し、権限昇格を引き起こす。

この悪用可能な脆弱性は、2016年に発見された脆弱性 Dirty Cow との類似性に基づき、Dirty Pipe と呼ばれるようになった。

オブジェクトが特権ではなく種類に基づいて分離されることを踏まえ、研究者たちはクロスキャッシュ攻撃を防ぐために、特権的な認証情報を非特権的なものから、仮想メモリを用いて分離することを推奨している。

脆弱性 Dirty Pipe CVE-2022-0847 (CVSS:7.8) は、非特権プロセスから root プロセスにコードを注入できるため、特権拡大につながるものだと、2022年3月7日の「Linux Kernel の脆弱性 CVE-2022-0847 が FIX:Dirty Pipe という問題とは?」では解説されています。そして、今回の DirtyCred はというと、ヒープ領域に置かれているクレデンシャル情報を、盗み出して使用してしまうという、さらに効率の良い特権昇格が可能になるようです。お隣のキュレーションチームに聞いてみたところ、8月23日に Ubuntu と Debian で対策が講じられたとのことです。

%d bloggers like this: