CVE-2021-41277
Metabase Metabase
2024-11-12
Metabase contains a local file inclusion vulnerability in the custom map support in the API to read GeoJSON formatted data.
Технический анализ и план устранения
Суть уязвимости
CVE-2021-41277 — это критическая уязвимость класса Local File Inclusion (LFI), обнаруженная в API Metabase. Проблема связана с недостаточной фильтрацией входных данных в эндпоинтах, отвечающих за работу с пользовательскими картами (GeoJSON).
Уязвимость позволяет неавторизованному злоумышленнику отправить специально сформированный HTTP-запрос и прочитать произвольные файлы в файловой системе сервера, на котором запущен Metabase. Это может привести к утечке конфиденциальной информации, включая переменные окружения, конфигурационные файлы с паролями от баз данных и ключи шифрования.
Как исправить
Основным и рекомендуемым способом устранения уязвимости является обновление Metabase до актуальной безопасной версии. Уязвимость исправлена в версиях 0.40.5, 1.40.5, 0.41.1, 1.41.1 и выше.
Для Docker-инсталляций:
- Остановите текущий контейнер:
docker stop <container_id>
- Обновите образ до последней версии:
docker pull metabase/metabase:latest
- Запустите новый контейнер (убедитесь, что вы используете те же параметры монтирования томов для сохранения данных):
docker run -d -p 3000:3000 --name metabase metabase/metabase:latest
Для JAR-файла:
- Остановите процесс Metabase.
- Скачайте актуальную версию JAR-файла с официального сайта или GitHub.
- Замените старый файл новым и запустите сервис:
java -jar metabase.jar
Временные меры
Если немедленное обновление невозможно, необходимо ограничить эксплуатацию уязвимости на уровне сетевого периметра или прокси-сервера.
- Блокировка доступа к уязвимым эндпоинтам. Настройте Reverse Proxy (Nginx, Apache, HAProxy), чтобы запретить запросы, содержащие путь
/api/geojson.
Пример для Nginx:
location /api/geojson {
deny all;
return 403;
}
-
Ограничение сетевого доступа. Если Metabase используется только внутри компании, закройте доступ к нему из публичного интернета и разрешите подключения только с доверенных IP-адресов или через VPN.
-
Изоляция среды. Убедитесь, что процесс Metabase запущен от имени пользователя с минимальными привилегиями в системе, чтобы ограничить список файлов, доступных для чтения в случае эксплуатации LFI.