Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/yoshino-s/cve-2025-62506
Повышение привилегийАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеБезопасность облачных сред
GitHubyoshino-s/cve-2025-62506

CVE-2025-62506

Скрипт проверки для CVE-2025-62506, уязвимости повышения привилегий в сервисных аккаунтах MinIO, проверяющий, могут ли ограниченные аккаунты обходить встроенные политики для создания неограниченных аккаунтов.

Репозиторий
10 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Скрипт проверки уязвимости CVE-2025-62506

中文

Обзор

Этот репозиторий содержит скрипт проверки для CVE-2025-62506 — уязвимости повышения привилегий в сервисных аккаунтах MinIO и аккаунтах STS (Security Token Service).

Описание уязвимости

CVE-2025-62506 — это уязвимость повышения привилегий, которая позволяет ограниченным сервисным аккаунтам и аккаунтам STS обходить ограничения своих встроенных политик при выполнении операций с «собственным» аккаунтом, в частности при создании новых сервисных аккаунтов для того же пользователя.

Технические детали

Уязвимость существует в логике проверки политик IAM в cmd/iam.go. При проверке сессионных политик для ограниченных аккаунтов, выполняющих операции со своим собственным аккаунтом (например, создание сервисных аккаунтов), код некорректно полагался на аргумент DenyOnly.

Флаг DenyOnly используется для того, чтобы позволить аккаунтам выполнять действия, связанные с их собственным аккаунтом, проверяя только, явно ли запрещено действие. Однако, когда присутствует сессионная политика (суб-политика), система должна проверять, что действие действительно разрешено сессионной политикой, а не только то, что оно не запрещено.

Сценарий атаки

  1. Администратор создает сервисный аккаунт или аккаунт STS с ограниченной встроенной политикой (например, доступ только к bucket1 и bucket2)
  2. Ограниченный аккаунт пытается создать новый сервисный аккаунт для себя без указания каких-либо ограничений политики
  3. Из-за обхода новый сервисный аккаунт создается с полными привилегиями родительского аккаунта вместо ограничений встроенной политики
  4. Атакующий получает повышенные привилегии, выходящие за пределы предполагаемых ограничений

Влияние

  • Сложность атаки: НИЗКАЯ — для эксплуатации требуются только действительные учетные данные ограниченного сервисного/STS аккаунта
  • Конфиденциальность: ВЫСОКАЯ — атакующие могут получить доступ к bucket'ам и объектам за пределами своих ограничений
  • Целостность: ВЫСОКАЯ — атакующие могут изменять, удалять или создавать объекты за пределами своей авторизованной области
  • Доступность: НЕТ — напрямую не влияет на доступность сервиса

Оценка CVSS

8.1 (Высокая) — CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N

Затронутые версии

Все версии до RELEASE.2025-10-15T17-29-55Z

Исправленная версия

RELEASE.2025-10-15T17-29-55Z

Ссылки

  • Консультация по безопасности GitHub
  • Коммит с исправлением
  • PR с исправлением

Скрипт проверки

Скрипт verify_cve_2025_62506.py проверяет, уязвима ли ваша установка MinIO к CVE-2025-62506.

Предварительные требования

  • Python 3.7+
  • Запущенный сервер MinIO (можно запустить с помощью предоставленного docker-compose.yml)
  • Требуемые пакеты Python: minio

Установка

  1. Запустите сервер MinIO:
root@kitploit:~
docker-compose up -d
  1. Установите зависимости:
root@kitploit:~
pip install minio

Порядок работы скрипта

Скрипт проверки выполняет следующие шаги:

Шаг 1: Создание тестовых bucket'ов

  • Создает три тестовых bucket'а: bucket1, bucket2, bucket3
  • Эти bucket'и используются для проверки ограничений прав доступа аккаунта

Шаг 2: Создание ограниченной политики

  • Создает политику IAM, которая разрешает доступ только к bucket1 и bucket2
  • Детали политики:
    • Разрешенные действия: s3:* (все операции S3)
    • Разрешенные ресурсы: bucket1/*, bucket2/*
    • Запрещенные ресурсы: Все остальные bucket'и (включая bucket3)

Шаг 3: Создание ограниченного сервисного аккаунта

  • Создает сервисный аккаунт с примененной ограниченной политикой в качестве встроенной политики
  • Детали аккаунта:
    • Ключ доступа: restricted
    • Секретный ключ: restricted123
    • Политика: Встроенная ограниченная политика (только bucket1 и bucket2)
    • Ожидаемое поведение: Может получить доступ только к указанным bucket'ам

Шаг 4: Проверка доступа ограниченного аккаунта

  • Использует ограниченный аккаунт для вывода списка bucket'ов
  • Проверяет, что разрешения должным образом ограничены
  • Ожидаемый результат: Может видеть только bucket1 и bucket2

Шаг 5: Попытка повышения привилегий (тест уязвимости)

  • Использует ограниченный аккаунт для попытки создания нового сервисного аккаунта
  • Новый аккаунт создается без указания политики (должен наследовать ограничения родительского аккаунта)
  • Тест уязвимости: Если создание успешно, пытается использовать новый аккаунт для доступа к неавторизованным ресурсам (bucket3)
  • Безопасное поведение: Создание должно завершиться ошибкой отказа в доступе

Очистка

  • Удаляет все тестовые сервисные аккаунты
  • Удаляет тестовую политику
  • Удаляет все тестовые bucket'и и их содержимое

Использование

  1. Убедитесь, что MinIO запущен:
root@kitploit:~
docker-compose up -d
  1. Запустите скрипт проверки:
root@kitploit:~
python verify_cve_2025_62506.py

Ожидаемый вывод

Уязвимая система

root@kitploit:~
🚀 Скрипт проверки уязвимости CVE-2025-62506
============================================================
📋 Описание скрипта:
   Этот скрипт проверяет уязвимость повышения привилегий сервисных аккаунтов MinIO (CVE-2025-62506)
   Уязвимость позволяет ограниченным сервисным аккаунтам обходить встроенные политики при создании новых аккаунтов
============================================================

📦 Шаг 1: Создание тестовых bucket'ов
   Создание трех тестовых bucket'ов: bucket1, bucket2, bucket3
   Используются для проверки ограничений прав доступа аккаунта
----------------------------------------
   ✅ Создан bucket: bucket1
   ✅ Создан bucket: bucket2
   ✅ Создан bucket: bucket3

🔒 Шаг 2: Создание ограниченной политики
   Создание политики, которая разрешает доступ только к bucket1 и bucket2
   Эта политика будет применена к ограниченному сервисному аккаунту
----------------------------------------
   ✅ Создана политика: restricted-policy
   📋 Разрешения политики:
      - Разрешенные действия: s3:* (все операции S3)
      - Разрешенные ресурсы: bucket1/*, bucket2/*
      - Запрещенные ресурсы: Все остальные bucket'и

👤 Шаг 3: Создание ограниченного сервисного аккаунта
   Создание сервисного аккаунта с указанной выше ограниченной политикой
   Этот аккаунт может получить доступ только к bucket1 и bucket2
----------------------------------------
   ✅ Создан сервисный аккаунт: restricted
   📋 Разрешения аккаунта:
      - Ключ доступа: restricted
      - Политика: Встроенная ограниченная политика (только bucket1 и bucket2)
      - Ожидаемое поведение: Может получить доступ только к указанным bucket'ам

🧪 Шаг 4: Проверка доступа ограниченного аккаунта
   Использование ограниченного аккаунта для вывода списка bucket'ов, проверка правильности ограничений разрешений
   Ожидаемый результат: Может видеть только bucket1 и bucket2
----------------------------------------
   ✅ Ограниченный аккаунт корректно ограничен разрешенными bucket'ами
      Доступные bucket'и: ['bucket1', 'bucket2']

⚡ Шаг 5: Попытка повышения привилегий (тест уязвимости)
   Использование ограниченного аккаунта для попытки создания нового сервисного аккаунта
   Новый аккаунт без указанной политики должен наследовать ограничения родительского аккаунта
   Уязвимость: Ограниченный аккаунт может обойти политику для создания неограниченных новых аккаунтов
----------------------------------------
   ✅ Создан сервисный аккаунт: newroot
   📋 Попытка использования нового сервисного аккаунта для доступа к неавторизованному bucket3
   ⬆️ Попытка загрузки объекта в bucket3 для проверки разрешений
   ⬇️ Попытка вывода списка объектов для проверки разрешений
      Найден объект: test-object
   ❌ УЯЗВИМА: Ограниченный аккаунт успешно создал новый сервисный аккаунт
      Разрешения нового аккаунта: Без ограничений (унаследованы полные разрешения родительского аккаунта)
      Это указывает на наличие уязвимости CVE-2025-62506!

🧹 Очистка тестовых ресурсов...
----------------------------------------
   ✅ Удален сервисный аккаунт: restricted
   ✅ Удален сервисный аккаунт: newroot
   ✅ Удалена политика: restricted-policy
   ✅ Удален bucket: bucket1
   ✅ Удален bucket: bucket2
   ✅ Удален bucket: bucket3

============================================================
📊 Результаты проверки
============================================================
❌ РЕЗУЛЬТАТ: УЯЗВИМА — присутствует CVE-2025-62506
💡 Рекомендация: Немедленно обновитесь до исправленной версии RELEASE.2025-10-15T17-29-55Z или выше
🔗 Ссылка: https://github.com/minio/minio/security/advisories/GHSA-jjjj-jwhf-8rgr
============================================================

Безопасная система

root@kitploit:~
🚀 Скрипт проверки уязвимости CVE-2025-62506
============================================================
📋 Описание скрипта:
   Этот скрипт проверяет уязвимость повышения привилегий сервисных аккаунтов MinIO (CVE-2025-62506)
   Уязвимость позволяет ограниченным сервисным аккаунтам обходить встроенные политики при создании новых аккаунтов
============================================================

📦 Шаг 1: Создание тестовых bucket'ов
   Создание трех тестовых bucket'ов: bucket1, bucket2, bucket3
   Используются для проверки ограничений прав доступа аккаунта
----------------------------------------
   ✅ Создан bucket: bucket1
   ✅ Создан bucket: bucket2
   ✅ Создан bucket: bucket3

🔒 Шаг 2: Создание ограниченной политики
   Создание политики, которая разрешает доступ только к bucket1 и bucket2
   Эта политика будет применена к ограниченному сервисному аккаунту
----------------------------------------
   ✅ Создана политика: restricted-policy
   📋 Разрешения политики:
      - Разрешенные действия: s3:* (все операции S3)
      - Разрешенные ресурсы: bucket1/*, bucket2/*
      - Запрещенные ресурсы: Все остальные bucket'и

👤 Шаг 3: Создание ограниченного сервисного аккаунта
   Создание сервисного аккаунта с указанной выше ограниченной политикой
   Этот аккаунт может получить доступ только к bucket1 и bucket2
----------------------------------------
   ✅ Создан сервисный аккаунт: restricted
   📋 Разрешения аккаунта:
      - Ключ доступа: restricted
      - Политика: Встроенная ограниченная политика (только bucket1 и bucket2)
      - Ожидаемое поведение: Может получить доступ только к указанным bucket'ам

🧪 Шаг 4: Проверка доступа ограниченного аккаунта
   Использование ограниченного аккаунта для вывода списка bucket'ов, проверка правильности ограничений разрешений
   Ожидаемый результат: Может видеть только bucket1 и bucket2
----------------------------------------
   ✅ Ограниченный аккаунт корректно ограничен разрешенными bucket'ами
      Доступные bucket'и: ['bucket1', 'bucket2']

⚡ Шаг 5: Попытка повышения привилегий (тест уязвимости)
   Использование ограниченного аккаунта для попытки создания нового сервисного аккаунта
   Новый аккаунт без указанной политики должен наследовать ограничения родительского аккаунта
   Уязвимость: Ограниченный аккаунт может обойти политику для создания неограниченных новых аккаунтов
----------------------------------------
   ✅ БЕЗОПАСНО: Ограниченный аккаунт не смог создать новый сервисный аккаунт
      Ошибка: В доступе корректно отказано
      Детали: Access Denied.

🧹 Очистка тестовых ресурсов...
----------------------------------------
   ✅ Удален сервисный аккаунт: restricted
   ✅ Удалена политика: restricted-policy
   ✅ Удален bucket: bucket1
   ✅ Удален bucket: bucket2
   ✅ Удален bucket: bucket3

============================================================
📊 Результаты проверки
============================================================
✅ РЕЗУЛЬТАТ: БЕЗОПАСНО — CVE-2025-62506 исправлена
🎉 Ваша версия MinIO имеет исправление этой уязвимости
============================================================

Меры по смягчению

  1. Обновите MinIO: Обновитесь до версии RELEASE.2025-10-15T17-29-55Z или выше
  2. Проверьте сервисные аккаунты: Просмотрите все сервисные аккаунты, созданные не-административными аккаунтами
  3. Отзовите подозрительные аккаунты: Удалите все сервисные аккаунты, которые могли быть созданы в результате эксплуатации
  4. Просмотрите журналы доступа: Проверьте наличие несанкционированного доступа к чувствительным bucket'ам

Лицензия

Этот скрипт проверки предоставляется как есть для целей тестирования безопасности.

Скачать инструмент