CVE-2016-0752
Rails Ruby on Rails
2022-03-25
Directory traversal vulnerability in Action View in Ruby on Rails allows remote attackers to read arbitrary files.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (Directory Traversal) в компоненте Action View фреймворка Ruby on Rails позволяет удаленному злоумышленнику, отправляя специально сформированные HTTP-запросы, обходить ограничения и читать произвольные файлы на сервере. Это может привести к утечке конфиденциальных данных (например, файлов с секретами, конфигураций, ключей).
Как исправить
Основной метод — обновление Ruby on Rails до безопасной версии. Уязвимость затрагивает версии 4.2.x до 4.2.5.1, 4.1.x до 4.1.14.1, 4.0.x до 4.0.15.1 и 3.2.x до 3.2.22.1.
-
Проверьте текущую версию Rails:
bash bundle exec rails --versionИли в файлеGemfile.lockнайдите строкуrails. -
Обновите гем Rails в
Gemfile: Укажите безопасную версию в зависимости от вашей основной ветки:- Для 4.2.x:
gem 'rails', '~> 4.2.5.1' - Для 4.1.x:
gem 'rails', '~> 4.1.14.1' - Для 4.0.x:
gem 'rails', '~> 4.0.15.1' - Для 3.2.x:
gem 'rails', '~> 3.2.22.1'
- Для 4.2.x:
-
Выполните обновление:
bash bundle update rails -
Перезапустите приложение:
bash # Пример для Passenger touch tmp/restart.txt # Или перезапустите сервер приложения (Puma, Unicorn) и веб-сервер (nginx, Apache) sudo systemctl restart puma
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Настройка WAF (Web Application Firewall):
- Добавьте правило для блокировки запросов, содержащих последовательности для обхода директорий (
../,..\,%2e%2e%2f). - Пример правила для ModSecurity (CRS): Активируйте правило с ID
930100(Path Traversal Attack) из набора OWASP Core Rule Set.
- Добавьте правило для блокировки запросов, содержащих последовательности для обхода директорий (
-
Ограничение на уровне веб-сервера (Nginx): Добавьте в конфигурацию location, обслуживающего ваше Rails-приложение, блокировку запросов с
..в URI:nginx location @yourapp { if ($request_uri ~* "\.\.") { return 403; } # ... остальная конфигурация проксирования } -
Мониторинг журналов (Logs): Настройте алерты на попытки доступа к нестандартным путям в логах приложения (
log/production.log) и веб-сервера. Ищите шаблоны, содержащие../.