File::Rotate::Simple версии Perl до 0.4.0 создают цель висячих символических ссылок при повороте файлов. Если вращаемый файл представляет собой символическую ссылку на отсутствующий файл и включена опция касания, метод вращения предполагает, что файл отсутствует (поскольку проверка существования соответствует целевому файлу), и не вращает его. Но это касается файла, который создает цель.
Злоумышленник, у которого есть возможность создать символическую ссылку, может использовать ее для создания произвольного файла с разрешениями процесса, вращающего файлы (которые могут отличаться от процесса, который обычно записывает в ротируемый файл журнала). Обратите внимание, что сенсорная опция по умолчанию отключена.
Показать оригинальное описание (EN)
File::Rotate::Simple versions before 0.4.0 for Perl create the target of dangling symlinks when rotating files. When the file to be rotated is a symbolic link to a missing file, and the touch option is enabled, then the rotate method assumes that the file is absent (since the existence check is against the target), and does not rotate it. But it touches the file, which creates the target. An attacker that has the ability to create the symlink can use this to create an arbitrary file with permissions of the process rotating the files (which may be different from the process that normally writes to the log file that is being rotated). Note that the touch option is disabled by default.
Характеристики атаки
Последствия
Строка CVSS v3.1