
PHP 8 サンドボックスエスケープ PoC。Unix系システムにおけるdisable_functionsのバイパスを実証します。
このエクスプロイトは、use-after-freeバグを利用してdisable_functionsをバイパスし、システムコマンドを実行します。ヒープポインタの漏洩や読み取り/書き込みプリミティブの取得に使用されるエクスプロイト技術は、DateIntervalオブジェクトを利用しています。
本PoCは、複数の標準的なPHPディストリビューションと一般的なサーバーAPI(CLI、PHP-FPM、Apacheモジュール)でテストされており、決定論的に再現可能です。

PHPのコアはメモリ安全ではなく、一般的なPHPデプロイメントにおけるメモリ破損は悪用可能です。一部のPHPメモリ破損問題やエクスプロイト戦略は公に知られていますが、そうでないものもあります。disable_functionsのようなサンドボックス機構にセキュリティを依存することは希望的観測に過ぎません。
このリポジトリのPoCは、教育および研究目的でのみ提供されています。著者は、システムへの不正アクセスを推奨または助長するものではありません。