CVE-2023-28432

MinIO MinIO

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2023-04-21

Официальное описание

MinIO contains a vulnerability in a cluster deployment where MinIO returns all environment variables, which allows for information disclosure.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2023-28432 — это критическая уязвимость раскрытия информации (Information Disclosure) в объектном хранилище MinIO, затрагивающая кластерные развертывания.

Проблема заключается в некорректной работе API-эндпоинта bootstrap, который предназначен для обмена конфигурационными данными между узлами кластера. Из-за отсутствия должной фильтрации, при обращении к этому эндпоинту MinIO возвращает значения всех переменных окружения сервера. Это приводит к утечке конфиденциальных данных, включая: * MINIO_ROOT_USER и MINIO_ROOT_PASSWORD (логин и пароль администратора). * Ключи доступа к облачным сервисам (AWS Access Key, Secret Key). * Параметры подключения к базам данных и LDAP. * Токены аутентификации и другие секреты, переданные через ENV-переменные.

Уязвимость может быть эксплуатирована удаленно без аутентификации, что позволяет злоумышленнику получить полный контроль над хранилищем и связанной инфраструктурой.

Как исправить

Единственным надежным способом устранения уязвимости является обновление MinIO до версии, в которой данная проблема исправлена (релиз RELEASE.2023-03-20T20-16-18Z и выше).

  1. Проверьте текущую версию MinIO:
minio --version

  1. Если вы используете бинарный файл, выполните встроенную команду обновления:
minio admin update

  1. Если обновление через CLI недоступно (например, нет доступа к интернету), скачайте актуальный бинарный файл с официального сайта и замените старый файл.

  2. Для Docker-инсталляций обновите тег образа в docker-compose.yaml или в команде запуска до актуального:

docker pull minio/minio:latest

  1. После обновления обязательно перезапустите все узлы кластера.

  2. Важно: Поскольку учетные данные могли быть скомпрометированы до момента обновления, необходимо немедленно сменить пароль администратора (MINIO_ROOT_PASSWORD) и все секретные ключи, которые передавались через переменные окружения.

Временные меры

Если немедленное обновление невозможно, рекомендуется принять следующие меры для снижения риска:

  1. Ограничьте доступ к API MinIO на сетевом уровне (Firewall/Security Groups), разрешив подключения только с доверенных IP-адресов администраторов и клиентских приложений.

  2. Настройте Reverse Proxy (Nginx, HAProxy) перед MinIO и заблокируйте внешние запросы к системным эндпоинтам, содержащим /minio/bootstrap.

Пример для Nginx:

location /minio/bootstrap {
    deny all;
    return 403;
}

  1. Убедитесь, что узлы кластера взаимодействуют друг с другом через изолированную внутреннюю сеть, недоступную из публичного интернета.