
CVE-2022-46689を使用したiOS上でフォントを上書きする概念実証アプリ。
Proof-of-concept app to overwrite fonts on iOS using CVE-2022-46689.
iOS 16.1.2以下(iOS 16.1でテスト済み)の脱獄されていないデバイスで動作します。
IPAはReleasesセクションから入手できます。
含まれるフォント:
iOS用に移植されたカスタムフォントもインポートできます。
DejaVu Sans Condensed | DejaVu Serif | DejaVu Sans Mono | Choco Cooky

Go Regular | Go Mono | Segoe UI | Comic Sans MS

Hanna Soft + JoyPixels | Bronkoh | Noto Serif SC | Fira Sans

スクリーンショットのクレジット: 移植されたHanna SoftとBronkohフォントについては@ev_ynw、絵文字フォントについてはJoyPixelsに感謝します。
CVE-2022-46689の問題は、私の知る限り、16384バイトごとに16383バイトしか上書きできません。つまり、ページの最後の1バイトは書き込めません。
(間違っているかもしれません)
これを回避するために、フォントをWOFF2ウェブフォント形式でパッケージ化しています。これはiOSでサポートされています。WOFF2は圧縮にBrotliを使用しており、最後のバイトをスキップするためのパディングを挿入できます。
詳細はrepackfonts/make_woff2src.shを参照してください。このスクリプトは:
repackfonts/BrotliPadding.swiftを実行してWOFF2ファイルを解凍し、16384バイト目をスキップするためのパディングを挿入します