
Модули Metasploit, Python PoC и одноразовые Docker-лаборатории для четырёх CVE на разных платформах: Keycloak (CVE-2026-18963), Apache NiFi (CVE-2026-39816), HashiCorp Vault (CVE-2026-5006), HashiCorp Nomad (CVE-2026-7474).
Исследование уязвимостей, которое я провёл в четырёх широко развёрнутых платформенных сервисах: Keycloak, Apache NiFi, HashiCorp Vault и HashiCorp Nomad. Для каждой находки в этом репозитории хранятся артефакты, написанные один раз и реально используемые мной: модуль Metasploit там, где это имело смысл, автономный Python proof of concept и небольшая Docker-лаборатория, которая поднимает только уязвимый сервис, чтобы любой мог воспроизвести баг, не полагаясь на моё слово.
Здесь ничто не нацелено на живую среду. Лаборатории — это одноразовые контейнеры на вашем собственном хосте.
| CVE | Компонент | Класс | Затронуто | Metasploit | PoC | Лаборатория |
|---|---|---|---|---|---|---|
| CVE-2026-18963 | Keycloak | Захват аккаунта через sticky-selector при сбросе учётных данных | < 26.7.2 | да | да | да |
| CVE-2026-39816 | Apache NiFi | Groovy RCE через Tinkerpop / ExecuteGraphQuery в обход шлюза execute-code | 2.0.0-M1 .. 2.8.0 | да | да | да |
| CVE-2026-5006 | HashiCorp Vault | Инъекция слэша в метаданные шаблонной политики (HCSEC-2026-32) | <= 2.0.3 | да | да | да |
| CVE-2026-7474 | HashiCorp Nomad | Обход пути через plugin_id динамического host-volume до root (HCSEC-2026-15) | <= 2.0.0 | да | да |
metasploit-custom-modules/ модули Metasploit + документация модулей, в обычном дереве framework
exploits/ один самодостаточный Python PoC на каждый CVE
docker-lab/ одна одноразовая Docker-лаборатория на каждый CVE, поднимает только уязвимый сервис
У каждой из этих трёх директорий есть собственный README с подробностями. Кратко:
~/.msf4). Три модуля: захват Keycloak, инъекция слэша в метаданные Vault и
RCE в NiFi.Выберите CVE, поднимите его лабораторию, запустите PoC. Например, Keycloak:
cd docker-lab/keycloak-cve-2026-18963
docker compose up -d
cd ../..
python3 exploits/kc_ato_18963.py \
--base http://127.0.0.1:8080 --realm larkspur \
--victim j.okonkwo --newpass Chang3d-by-attacker!
Остальные три следуют той же схеме. Сначала прочитайте README каждой лаборатории: некоторым из них
нужен --build и минута на развёртывание.
Обо всех четырёх было сообщено соответствующим вендорам, и они исправлены в указанных выше версиях.
Всё опубликованное здесь работает против намеренно устаревших образов в docker-lab/.
Направите это на что-либо, вам не принадлежащее, — это ваша ответственность.
MIT. См. LICENSE.