新たに公開された概念実証(PoC)「Relapse-Exploit」は、ファームウェアのバージョン7.00から13.60を搭載したPlayStation 5を標的にしています。ブラウザ経由のWebKit侵害とカーネルのUse-After-Free(UAF)脆弱性を連鎖させ、カーネルレベルの読み書きアクセスを取得します。
公開プロジェクトは、今回の公開物を教育およびセキュリティ研究の用途向けと位置づけています。一方で、試行によってブラウザのフリーズ、システムのハングアップ、カーネルパニック、データ消失、アカウント制限などが起こりうると注意を促しています。
攻撃チェーンの起点はPS5のブラウザ環境です。研究者らはJavaScriptCore(JSC)の情報漏えいと、structured-cloneオブジェクトプールの不整合を利用します。
PlayStationによると、この状態によって型付き配列(typed array)が破壊されます。これが、WebKitのサンドボックスを突破するために必要なブラウザ段階のプリミティブとなります。
型付き配列の破壊は、深刻なメモリ安全性の問題です。ランタイムが想定していない形で、攻撃者がメモリ表現を操作できるようになるためです。
続いてRelapseは、ブラウザのコンテキストからPS5のカーネルへと移行します。リポジトリの説明によると、第2段階ではアドレスリークとaio_multi_waitのレースコンディションを組み合わせ、Use-After-Free(UAF)脆弱性を引き起こします。
UAFは、ソフトウェアが解放済みのメモリ上のオブジェクトに引き続きアクセスすることで発生します。攻撃者がそのメモリを再取得したり、書き換えたりできる可能性があります。
今回のケースでは、NTFargoが明らかにしているとおり、このチェーンによってカーネルの読み書き機能が確立されます。これは高い権限を持つ立場であり、プラットフォームのセキュリティ境界を損なう恐れがあります。
カーネルの読み書きアクセスが特に重大なのは、オペレーティングシステムの機密メモリの改変や参照を可能にするためです。さらにペイロードの実行を容易にし、アプリケーションや署名済みソフトウェアを隔離するための保護を弱めます。
プロジェクトにはオフセットファイル、ソースコード、ペイロード関連のコンポーネントが含まれています。このことから、汎用的に移植できる手法ではなく、ファームウェアごとのメモリレイアウトを前提に作られたエクスプロイトだとうかがえます。
開発者らは、信頼性に課題が残ることを認めています。WebKit側のコンポーネントは複数回の試行が必要になる場合があり、プロジェクトの文書はブラウザが止まった際にページを再読み込みするよう案内しています。
カーネル段階でもコンソールがハングアップまたはパニックを起こすことがあり、再試行するには再起動が必要です。
こうした状況は、民生用ハードウェアで低レベルのメモリ破壊の脆弱性を悪用することの不安定さを示しています。タイミングに依存するレースコンディションが絡む場合は、なおさらです。今回の公開は、ファームウェアを迅速に更新することが防御上いかに重要かも浮き彫りにしています。
Sonyは、PS5の所有者に対し、最新のシステムソフトウェアが利用可能になり次第インストールするよう呼びかけています。アップデートにはセキュリティ修正が含まれる場合があり、適用が遅れるとセキュリティリスクにさらされたり、正常な動作に影響が出たりする可能性があると説明しています。
Sonyはさらに、改造したコンソールや公式のアップデート手順以外で入手したソフトウェアを使うと、保証や修理を受ける資格に影響しうると警告しています。
セキュリティチームとPS5の所有者にとって、Relapseは、ブラウザのメモリ破壊とカーネルのレースコンディションが組み合わさり、完全な権限昇格チェーンになりうることを示す事例です。
本来のセキュリティ態勢を維持したい利用者は、コンソールをサポート対象の最新ファームウェアに保ち、信頼できないペイロードや改変されたシステムコンポーネントを避けてください。
16,000以上のSOCチームがANY.RUNを導入し、脅威調査を効率化して手作業を削減しています。チームで試してみる
翻訳元: https://cyberpress.org/ps5-relapse-jailbreak-uses-webkit-and-kernel-exploit/