Опубликован метод обхода в интерпретаторе PHP ограничений, заданных при помощи директивы disable_functions и других настроек в php.ini. Напомним, что директива disable_functions даёт возможность запретить использование в скриптах определённых внутренних функций, например можно запретить "system, exec, passthru, popen, proc_open и shell_exec" для блокирования вызова внешних программ или fopen для запрета открытия файлов.
Примечательно, что в предложенном эксплоите используется уязвимость, о которой разработчикам PHP было сообщено более 10 лет назад, но они посчитали её несущественной проблемой, не влияющей на безопасность. Предложенный метод атаки основан на изменении значений параметров в памяти процесса и работает во всех актуальных выпусках PHP, начиная с PHP 7.0 (атака возможна и на PHP 5.x, но для этого требуется внесения изменений в эксплоит). Эксплоит протестирован в различных конфигурациях Debian, Ubuntu, CentOS и FreeBSD с PHP в форме cli, fpm и модуля для apache2.
Примечательно, что в предложенном эксплоите используется уязвимость, о которой разработчикам PHP было сообщено более 10 лет назад, но они посчитали её несущественной проблемой, не влияющей на безопасность. Предложенный метод атаки основан на изменении значений параметров в памяти процесса и работает во всех актуальных выпусках PHP, начиная с PHP 7.0 (атака возможна и на PHP 5.x, но для этого требуется внесения изменений в эксплоит). Эксплоит протестирован в различных конфигурациях Debian, Ubuntu, CentOS и FreeBSD с PHP в форме cli, fpm и модуля для apache2.