before 4.70 bpfwrite would be reachable from webkit sandbox. it would then call bpf_filter without asserting ownership on the executed filter, which could be free'd as it was being executed resulting in UaF. replacing opcodes with invalid ones yield stack overflow
— qwertyoruiop (@qwertyoruiopz) 2018年2月1日
proper exploit will have 100% reliability, as this is a completely controllable stack overflow read and write, plus arithmetic can be done on any of the values leaked / about to be written to, and logic and what not can be implemented.
— qwertyoruiop (@qwertyoruiopz) 2018年2月1日
As of 4.7x, probably due to some crashlogs leaking back to Sony, their official patch was to remove the bpfwrite function from the 'bpf' device. However, the underlying issue remains, and is exploitable on 5.0x. More details on 5.0x will eventually be published.
— qwertyoruiop (@qwertyoruiopz) 2018年2月1日
専門的なので概要だけにしておきますが、4.70以前(4.55以下)は100%確実なスタックオーバーフローのexploitが存在したようで、
それはFW4.7x環境でPS4がクラッシュした際にソニーに送られる情報を元にしてパッチが当てられたのだとか。
ただその問題の根本的な所は5.0xでも残っているらしく、それが理由で"exploitable on 5.0x"とされています。
5.0xのバグの詳細に関してはそのうち公開するそうです。
qwertyoruiop氏に懐疑的な人もいくらかいるみたいですが、シーンの開発者の多くは彼を信頼しているようで、
PS4シーンのDiscordのチャットではFW4.05のKernel exploitの実用化を現実の物にしたSpecterDev氏が
「彼の功績の事を話すのは私では無い。彼はすぐに詳細を公開するのではないかと思う。」
と発言されていました。
今回のツイートは「Kernel exploitになりうるバグが存在する」という事実の公表です。
現時点で(開発者が)実用可能なKernel exploitとして明確な証拠が出ているのはFW5.01までです。
FW5.03のexploitも存在するようですが証拠不十分な状態です。
qwertyoruiop氏の所持しているKernel exploitは5.01までというのがエンドユーザー全体の認識だったと思いますから、
今回のバグ公表の件に関しては「どのバージョンでキープしろ」ってのが少々難しいです。
まあ、次にリリースされるOFWはベータテスターの募集がされていた5.50でしょうから、
このタイミングで5.0xというキーワードを出してきたのはそれなりの意味があるのかもしれませんけどね。
現時点で4.06~5.01、5.03のPS4をキープしている人は今後の行動は自己判断で…
also, the bug comes from freebsd, not sony-specific code, and I didn't really review recent (i.e. non-9) freebsd, so it might even be 0day there. but bpf on systems that don't suck should be root only
— qwertyoruiop (@qwertyoruiopz) 2018年2月1日
上記ツイートによると、今回qwertyoruiop氏が存在を公表したバグはソニー特有のコードではなく
PS4のOSのベースとなっているFreeBSD由来の物なのだとか。
加えてqwertyoruiop氏が把握しているFreeBSDは9までで、最近の10や11は見直していないらしく
発見されたバグは0dayかもしれないとされています。
リリースする予定あるの?というツイートには
「えっと、私はバグを公表したばかりです。コードはリリースしていませんが、誰かがexploitとして書き上げるのは簡単なはずです。」i mean, i just released the bug. i'm not releasing code but it should be easy for someone to write an exploit.
— qwertyoruiop (@qwertyoruiopz) 2018年2月1日
バグの詳細がいつ公開されるかは不明ですが、公開されたらSpecterDev氏のような人物がexploitとして書き上げるのでしょう。きっと。
彼の言う5.0xに5.05が含まれているのならFW5.50がリリースされた際に修正されているかを確認されるでしょうから、
ひとまずはそれの結果待ちなのではないかなと…
現代のゲーム機はFWの更新で脆弱性が修正されてしまう事がほとんどですから、ハッカーとしては別の脆弱性が見つかるか、
あるいは修正されるまでは公開しないというスタンスの方が多いです。でないと修正されて八方ふさがりになってしまいますから。
qwertyoruiop氏もそういうスタンスのハッカーの一人です。(source)。
もし「FW5.50でもバグは生きている」なんて吉報があれば今後もまだまだ彼の手や開発者間でキープされ続けると予想されます。
別のUserLand+Kernelのペアがあれば公開されるかもしれませんけど。