最近、ニュースはの発見のネット上でリリースされました Linuxの新しい脆弱性 これは次のようにリストされています バージョン5.8以降のすべてのカーネルに影響する「高重大度」、 Androidを含む派生物と同様に。
として知られています Dirty Pipeを使用すると、データを読み取り専用ファイルに上書きでき、特権の昇格につながる可能性があります 「ルート」プロセスにコードを挿入します。
すでにメインラインのLinuxカーネルにパッチが適用されていますが、このバグは、Linuxカーネルバージョン5.8以降を実行しているすべてのデバイスで特権昇格のエクスプロイトの形で悪用される可能性があります。
また、SamsungGalaxyS22やGooglePixel6などの新しくリリースされたAndroidスマートフォンも、各デバイスがそれぞれのOEMから適切なカーネルパッチを受け取るまで脆弱です。
汚れたパイプについて
脆弱性は セキュリティ研究者のマックス・ケラーマンによって明らかにされた (CVE-2022-0847)としてカタログ化されており、概念実証のエクスプロイトを見つけるのに数か月かかりました。
この脆弱性により、権限のないユーザーが、rootとして実行されているSUIDプロセスを含む、読み取り専用ファイルのデータを挿入および上書きすることができます。 口語的なニックネームは、悪名高いバグの遊びのようです 汚い牛 後者はエクスプロイトルーチン中に使用されるため、プロセス間メッセージパッシングのためのパイプラインと呼ばれるLinuxメカニズム。
それはすべて、破損したファイルに関連するサポートチケットでXNUMX年前に始まりました。 ダウンロードしたアクセスログを解凍できないとの苦情がありました。 実際、ログサーバーのXNUMXつに破損したログファイルがありました。 圧縮解除できますが、gzipでCRCエラーが報告されました。 なぜ破損したのか説明できませんでしたが、夜間の分割プロセスがクラッシュし、破損したファイルが生成されたと思いました。 ファイルのCRCを手動で修正し、チケットを閉じて、すぐに問題を忘れました。
数ヶ月の分析の後、 研究者は最終的に、破損したクライアントファイルがLinuxカーネルのバグの結果であることを発見しました。 彼は、Dirty Pipeを悪用して、特権の少ない「nobody」アカウントを含むアカウントを持つすべてのユーザーが、rootユーザーアカウントにSSHキーを追加できるようにする方法を見つけました。
この脆弱性を引き起こすには、ケラーマンが概念実証を共有しました。攻撃者は読み取り権限を持っている必要があります。 また、スクロールはページ境界上に行ってはならず、書き込みはページ境界を越えてはならず、ファイルのサイズを変更することはできません。
この脆弱性を悪用するには、パイプを作成し、パイプに任意のデータを入力し(リング内のすべてのエントリにPIPE_BUF_FLAG_CAN_MERGEフラグを設定することにより)、パイプを空にします(構造内のpipe_buffer構造のすべてのインスタンスにフラグを設定したままにします)。 pipe_inode_infoリングの)、ターゲットファイル(O_RDONLYで開かれた)からのデータをターゲットオフセットの直前のパイプにマージし、パイプに任意のデータを書き込みます。
ダーティパイプは、Linuxカーネルの脆弱なバージョンのXNUMXつに基づくAndroidのすべてのバージョンにも影響します。 Androidは非常に断片化されているため、影響を受けるデバイスモデルを均一に追跡することはできません。
ケラーマンによると、 Googleは先月、バグ修正をAndroidカーネルと統合しました。 Linuxカーネルバージョン5.16.11、5.15.25、5.10.102のリリースで修正された直後。
そうは言っても、OEMが修正を含むAndroidアップデートの展開を開始するまでには、おそらく少し待つ必要があります。 たとえば、GoogleのPixel 6は依然として脆弱ですが、上級ユーザーは、代替オプションとしてカスタムパッチを適用したアフターマーケットカーネルをインストールすることで、この欠陥を軽減できます。
Linuxカーネル開発者は5.16.11月5.15.25日に修正(5.10.102、23、24)をリリースし、GoogleはXNUMX月XNUMX日にAndroidカーネルにパッチを適用しました。 ケラーマンと他の専門家は、脆弱性を CVE-2016-5195「ダーティカウ」 そして彼らはそれが悪用するのがさらに簡単であると言いました。
最後に、それについてもっと知りたい場合は、詳細を調べることができます 次のリンクで。