Smarty — это шаблонизатор для PHP, облегчающий отделение представления (HTML/CSS) от логики приложения. До версии 5.8.2 (и 4.5.7 в строке 4.x) Security::_checkDir() не полностью разрешает символические ссылки перед проверкой того, что запрошенный путь находится в пределах настроенного безопасного каталога. Злоумышленник, способный разместить или ссылаться на символическую ссылку в каталоге, который Smarty считает доверенным (например, в каталоге шаблонов или конфигурации), может использовать ее для указания за пределы предполагаемого безопасного каталога, минуя проверку содержания и считывая произвольные файлы, доступные для процесса PHP.
Эта проблема исправлена в версиях 5.8.2 и 4.5.7.
Показать оригинальное описание (EN)
Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. Prior to 5.8.2 (and 4.5.7 on the 4.x line), Security::_checkDir() does not fully resolve symbolic links before validating that a requested path lies within a configured secure directory. An attacker able to place or reference a symlink within a directory Smarty treats as trusted (e.g., a template or config directory) could use it to point outside the intended secure directory, bypassing the containment check and reading arbitrary files accessible to the PHP process. This issue is fixed in versions 5.8.2 and 4.5.7.
Характеристики атаки
Последствия
Строка CVSS v4.0