ツイッターで、Znullptr氏がPS5のユーザーランドでのコード実行のための情報を公開したことを発表していました。
We've released a small writeup and some code for userland exec on PS5.
DNS redirection to https works.https://t.co/mgmD6JZgPo— Z (@Znullptr) January 27, 2022
我々はちょっとした記事と、PS5のユーザーランドで実行できるコードを公開しました。
htppsへのDNSリダイレクトは機能します。
Znullptr氏のツイートが紹介しているのはChendoChap氏のGitHubリポジトリで、そこにあるのは、簡単に言うとPS5でも動作すると言われていたPS4の9.00に対応するWebkit exploitをPS5に転用したものを利用してユーザーランドでのコード実行を実現したものです。
Znullptr氏の言う「ちょっとした記事」ではPS5のユーザーランドでROPチェーンを起動させる方法が書かれています。
ROPとはReturn-Oriented Programmingの略で、セキュリティが存在する中でコードを実行できるようにするプログラムのことを指します。これを一連動作できるようチェーン化したのがROPチェーンです。
ただしカーネル権限では実行できず(Jailbreakが実現できれば可能になりますが)、OSのカーネルの外にあるユーザーランド、つまりカーネルから割り当てられたユーザー空間でのみコードが実行できるということになります。
ROPチェーンを起動させるためのトリガーとして利用しているのはWebkitにあるFontFaceSetの脆弱性(Webコンテンツを処理すると任意のコードが実行される脆弱性)です。PS5の4.03のブラウザ(PS5にブラウザアプリはないが、機能的には実装されている)にこの脆弱性が存在していたことがわかり、それが利用されています。
Znullptr氏はPS5に4.03カーネルexploitの存在を確認しており、現在4.03のPS5 Jailbreakに取り組んでいると言われていました。そのため4.03のJailbreakに繫がると色めき立つところのように感じますが、実際にはJailbreakにはほど遠い(といっても、Jailbreakに向けた一歩を踏み出したと表現しても間違いではないレベル)というが実際のところです。
4.03はPS4 9.00のカーネルexploit pOOBs4で利用されているexFATの脆弱性が存在する(PS5の4.50で対策済みのため、その一つ前の4.03では有効)と言われているファームウェアです。
長年の蓄積があるPS4であれば、カーネルexploitは即Jailbreakに繫がりますが、まだ何も進展したことがないPS5にはそういったノウハウはありません。
SpecterDev氏のコメントがそれを適切に表現していますので紹介しておきます。
Was hoping to get exfat bug working but the exploit scenario on PS5 is much tougher than PS4. Might still be possible to find a way but a lot of work will need to be put into finding a viable path. But at least the userland portion is out there so it can be attempted/tested :P https://t.co/NTDwuRktvr
— Specter (@SpecterDev) January 27, 2022
exFATの脆弱性を利用できるようにすることが望ましかったのですが、PS5でのシナリオはPS4よりはるかにハードルが高いです。方法を見つけることは可能かもしれませんが、それを実現するためには山のような作業をしないと無理でしょう。ただし、ユーザーランドに限れば今回できるようになったのでテストしたり試したりはできますよ。
PS5で任意のコードが実行できること自体大きな進展ですが、現時点で公開されたものは開発者向けであり、エンドユーザーがこれを利用して何かできるようになったわけではありません。
したがって、PS5のファームウェアが偶然4.03なのであればそのままのバージョンでステイしても構いませんが、それ以前のファームウェアをわざわざ4.03にアップデートする意味は現時点ではありません。
2.50のPS5を4.03へアップデートしましょう的ツイートに対して、Znullptr氏は次のようにコメントしています。
NO – DO NOT UPDATE
This is NOT a kernel+hv exploit, this was the firmware version we had available vulnerable to the webkit bug. There are no guarantees kernel or hv exploits in the future will be for > 4.03. It's NOT worth updating !— Z (@Znullptr) January 27, 2022
ダメ。更新しないで。
これは有効なカーネルexploitではなく、単にWebkitのバグによる脆弱性があるファームウェアのバージョンというだけの意味しか今はありません。
将来4.03より新しいファームウェアでカーネルexploitが見つかる保証もありません。ですからアップデートする価値はありません!
なお、本記事内で4.03と呼んでいるPS5のファームウェアは正式には21.02-04.03.00になります。通称が4.03です。