В многопользовательской (не хроматической) среде PHP-FPM с включенной opcache.use_cwd
, что смягчает opcache.validate_permissions
?
Официальные документы подразумевают, что столкновения ключей не произойдут, когдаopcache.use_cwd
включено, поскольку абсолютный путь включен в ключ кеша.Таким образом, если предположить, что конфликты ключей кэша не могут произойти, права доступа к файлам и папкам пользователя установлены правильно, а chroot отсутствует на рисунке (для этого есть opcache.validate_root
), что такое вектор атаки без него?
Есть ли воспроизводимый пример эксплойта?
Я читал (и перечитывал) https://bugs.php.net/bug.php?id=69090 и https://bugs.php.net/bug.php?id=67481 и https://www.openwall.com/lists/oss-security/2016/11/05/1, где один пользователь говоритcwd добавляется только к относительным путям, но я не могу найти каких-либо подробностей о том, что это значит или действительно ли это так.И даже если бы это было так, ключ кеша все равно будет абсолютным путем в обоих случаях (либо вы используете абсолютный путь, поэтому полный ключ используется в ключе кеша, либо относительный путь, где к cwd добавляетсяэто делает его абсолютным путем).
В моем ограниченном тестировании я не смог воспроизвести проблему или обойти open_basedir
от своей работы, мешающей мне включить кэшированный скрипт, который я не долженбыть в состоянии его полным путем.