
Prueba de concepto de escape de sandbox de PHP 8 que explota un error de use-after-free para eludir disable_functions y ejecutar comandos del sistema en sistemas tipo Unix.
PoC de escape de sandbox de PHP 8 que demuestra una omisión de disable_functions en sistemas tipo Unix.
Este exploit aprovecha un bug de use-after-free para omitir disable_functions y ejecutar comandos del sistema. Las técnicas de explotación utilizadas para filtrar punteros del heap y obtener primitivas de lectura/escritura hacen uso del objeto DateInterval.
El PoC fue probado en múltiples distribuciones estándar de PHP y APIs de servidor comunes (CLI, PHP-FPM, módulo de Apache) y se reproduce de manera determinista.

El núcleo de PHP no es seguro en memoria, y la corrupción de memoria en implementaciones típicas de PHP es explotable. Si bien algunos problemas de corrupción de memoria de PHP y estrategias de explotación son públicamente conocidos, otros no lo son. Confiar en mecanismos de sandboxing como disable_functions para la seguridad es un pensamiento ilusorio.
El PoC en este repositorio se proporciona estrictamente con fines educativos y de investigación. El autor no respalda ni fomenta ningún acceso no autorizado a sistemas.