
rootsh は OS X Yosemite 10.10.5 build 14F27 を対象とするローカル権限昇格です。 これは、CVE-2016-1758 および CVE-2016-1828 を悪用します。これらは XNU の2つの脆弱性で、 OS X El Capitan 10.11.4 および 10.11.5 でパッチが適用されました。rootsh は SMAP が有効なプラットフォームでは動作しません。
CVE-2016-1758 は、カーネルスタックの未初期化バイトをユーザ空間にコピーすることで発生する情報漏洩です。 漏洩したカーネルポインタを固定参照アドレスと比較することで、カーネルスライドを復元することが可能です。
CVE-2016-1828 は、オブジェクトのデシリアライズ中における use-after-free です。 細工されたバイナリシリアライズ辞書をカーネルに渡すことで、制御された vtable ポインタを持つオブジェクト上で仮想メソッド呼び出しをトリガーすることが可能です。
rootsh コードはパブリックドメインとして公開されています。 礼儀として、このコードの一部を別のプロジェクトで使用する場合は、私に帰属表示をするようお願いします。