Пишу на работе проект. После первичной проверки кода заказчиком имеем следующее:
Максимальный риск
Функция: access
Уязвимость функции:
Если атакующий сможет воспользоваться одним и тем же ресурсом в промежуток времени между вызовом access() и фактическим использованием файла то он сможет воспользоваться условиями перехвата (race condition). Возникает блокировка обоих процессов или происходит сбой в программе или с возможностью получения атакующим прав суперпользователя.
Рекомендации по устранению:
Установите верно права доступа для текущего процесса (например используя setuid()) или откажитесь от использования access()
Примерно тоже самое написано про mkdir. Хотелось бы знать Ваше мнение по этому поводу. И если все это так, то предложите более безопасную замену этим функциям.