Mastodon Mastodon Mastodon Mastodon

Обход каталога

Обновлено: · CyberSecureFox Editorial Team

Обход каталога (path traversal, directory traversal) — уязвимость, позволяющая читать или записывать файлы за пределами разрешённой папки с помощью последовательностей вроде ../ в пути.

Как работает обход каталога

Приложения часто строят пути к файлам из пользовательского ввода: запрос download?file=report.pdf превращается в /var/www/files/report.pdf. Если ввод не проверяется, атакующий может запросить ../../../../etc/passwd или ..\..\windows\win.ini и выбраться за пределы каталога. Закодированные варианты (%2e%2e%2f), абсолютные пути и архивы со специально сформированными именами файлов (Zip Slip) обходят наивные фильтры. Слабость описана как CWE-22.

Почему это важно

Чтение произвольных файлов раскрывает конфигурации, исходный код, закрытые ключи, хеши паролей и данные сессий. Запись ещё опаснее: атакующий может подложить веб-шелл или перезаписать настройки и добиться удалённого выполнения кода. Известные примеры:

  • Fortinet FortiOS SSL VPN (CVE-2018-13379) — уязвимость обхода пути раскрывала файлы сессий VPN с паролями в открытом виде; позже на хакерских форумах опубликовали списки десятков тысяч затронутых устройств.
  • Citrix ADC/NetScaler (CVE-2019-19781) — обход каталога привёл к выполнению кода и массовой эксплуатации в начале 2020 года.

Такие ошибки регулярно попадают в каталог CISA Known Exploited Vulnerabilities, особенно в VPN-шлюзах, серверах передачи файлов и веб-интерфейсах управления, где публичные эксплойты появляются вскоре после раскрытия.

Как предотвратить

  • Не использовать пользовательский ввод напрямую в путях: сопоставлять запросы с идентификаторами или белым списком имён.
  • Канонизировать путь и проверять, что он остаётся внутри разрешённого базового каталога.
  • Запускать сервисы с минимальными правами на файловую систему и изолировать их (контейнеры, chroot).
  • Проверять имена файлов в архивах перед распаковкой.

Обход каталога тесно связан с другими уязвимостями обработки ввода, например с внедрением кода.

Синонимы:
path traversal, directory traversal, обход пути