Une méthode de contournement des restrictions dans l'interpréteur PHP définies par la directive disable_functions et d'autres paramètres dans php.ini a été publiée. Rappelons que la directive disable_functions permet d'interdire l'utilisation de certaines fonctions internes dans les scripts, par exemple, il est possible d'interdire « system, exec, passthru, popen, proc_open et shell_exec » pour bloquer l'appel de programmes externes ou fopen pour interdire l'ouverture de fichiers.
Il est remarquable que l'exploit proposé utilise une vulnérabilité dont les développeurs de PHP ont été informés il y a plus de 10 ans, mais ils l'ont jugée comme un problème non substantiel, n'impactant pas la sécurité. La méthode d'attaque proposée repose sur la modification des valeurs des paramètres en mémoire de processus et fonctionne dans toutes les versions actuelles de PHP, à partir de PHP 7.0 (l'attaque est également possible sur PHP 5.x, mais nécessite des modifications dans l'exploit). L'exploit a été testé dans diverses configurations Debian, Ubuntu, CentOS et FreeBSD avec PHP sous forme de cli, fpm et en module pour apache2.
Source : opennet.ru
