Vulnerabilities
Материал из fidoman.ru
Версия от 13:53, 21 марта 2026; Sergey (обсуждение | вклад)
Подмена
например при работе неудачной версии rm -r можно подменить уже просканированный каталог на симлинк и при проходе она пойдёт удалять в симлинке. https://www.opennet.ru/opennews/art.shtml?num=65014
Причина: при энумерации каталогов утилита получает не прямые хендлы объектов (каталогов), например иноды, а их имена, и при повторном проходе она заново резольвит эти имена в объекты, открывая путь для возможной подмены.
Решение:
- простой путь - транзактная FS. Утилита работает с неизменным слепком и выполняет все удаления в одной транзакции
- сложный - получение при сканировании каталога прямых хендлов. Подменить уже не получится, при удалении или перемещении существующего каталога rm всё равно будет работать с ним, а не с симлинком, созданным под тем же именем.