
PHP 8 샌드박스 탈출 개념 증명 - use-after-free 버그를 악용하여 disable_functions를 우회하고 Unix 계열 시스템에서 시스템 명령을 실행합니다.
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는 교육 및 연구 목적으로만 엄격히 제공됩니다. 저자는 시스템에 대한 무단 접근을 지지하거나 장려하지 않습니다.