Обход каталогов
Path Traversal
CWE-22 — обход каталогов: путь к файлу строится из внешних данных без очистки спецсимволов. Ошибка возникает в обработчиках загрузки файлов, где имя из параметров запроса или формы подставляется в open() без проверки. Злоумышленник подставляет ../ или абсолютный путь и читает конфигурацию, ключи и исходный код, недоступные через обычные сценарии.
Как защититься от CWE-22
Чтобы защититься от CWE-22, приводите путь к каноническому виду функцией реального пути (realpath() в C, getCanonicalPath() в Java) и проверяйте, что результат лежит внутри заданного каталога, отклоняя переходы вверх. Принимайте идентификаторы файлов и сопоставляйте их с именами по таблице, а служебные файлы держите вне корня веб-сервера. Запускайте обработку запросов с минимальными правами и изолируйте её в chroot или AppArmor.
Уязвимости с типом CWE-22 (50)
Отслеживайте уязвимости автоматически
КиберОснова SGRC: учёт уязвимостей CWE-22 и других типов из БДУ ФСТЭК, задачи на устранение с плановым сроком.

