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

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

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

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

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

Категории

Все категории
Loading categories
grafana-signup-invite-join — Grafana OSS 13.2.3 — высокий — удалённый — присоединение по приглашению — SignUpStep2 присоединяет к ожидающим приглашениям организации без кода | Kitploit
Инструменты/GitHubGitHub/abraxas/grafana-signup-invite-join
Аутентификация и авторизацияПовышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеЛаборатории и Практика

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHubabraxas/grafana-signup-invite-join

grafana-signup-invite-join

Grafana OSS 13.2.3 — высокий — удалённый — присоединение по приглашению — SignUpStep2 присоединяет к ожидающим приглашениям организации без кода

Репозиторий
75 дней назадЕщё не проверено

Abraxas Labs - grafana-signup-invite-join

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  grafana-signup-invite-join

grafana-signup-invite-join

Класс: Остаточные привилегии Достижимость: Удалённая

Grafana OSS 13.2.3 (6193dc0) - Grafana Labs

Когда users.allow_sign_up имеет значение true, а users.verify_email_enabled остаётся по умолчанию false, неаутентифицированный POST /api/user/signup/step2 с приглашённым email создаёт учётную запись, и applyUserInvite привязывает каждую строку InvitePending для этого адреса с invite.Role. 30-символьный код приглашения на этом пути никогда не требуется. Роль может быть Admin.

Знайте приглашённый email. Пропустите код приглашения. Присоединитесь к организации как Admin.

IDпока нет CVE
КлассОстаточные привилегии
ДостижимостьУдалённая (неаутентифицированный HTTP; требуется users.allow_sign_up=true)
CWECWE-862
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
ПродуктGrafana OSS
Затронуто13.2.3 (6193dc0); путь открытой регистрации
Аутентификациянеаутентифицированная. Проверка email по умолчанию выключена. Регистрация выключена в стандартном defaults.ini.
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1

Что может сделать атакующий

Требуется приглашённый адрес (письмо с приглашением, догадка или другая утечка). Не требуется почтовый ящик и не требуется код приглашения. Не требуется существующая учётная запись Grafana.

ПривилегияМетод / точка назначенияРазведка / целостность / доступностьДоказано в лаборатории или выведено
Создать учётную запись с приглашённым emailНеаутентифицированный POST /api/user/signup/step2 с code=""Целостность (создание учётной записи)Доказано в лаборатории. Сессия /api/user login=invitee
Присоединиться к приглашённой организации с ролью из приглашения (Admin в этой лаборатории)applyUserInvite из GetTempUsersQuery{Email, InvitePending}Целостность (членство в организации + роль)Доказано в лаборатории. /api/user/orgs role=Admin; sqlite org_user Admin
Завершить ожидающее приглашение, чтобы реальный приглашённый не смог им воспользоватьсяupdateTempUserStatus(..., TmpUserCompleted)Целостность (использование приглашения)Доказано в лаборатории. Список ожидающих пуст; sqlite temp status=Completed
То же присоединение для приглашений Viewer/Editorinvite.Role копируется как естьЦелостностьВыведено. В лаборатории использовался Admin
Чтение/запись этой организации как Org Admin после входаAPI Org Admin (datasources, dashboards, users)Разведка + целостностьВыведено. Лаборатория останавливается на role=Admin
Негативный контрольРегистрация с другим email и пустым кодомн/дДоказано в лаборатории. invite-org-role=none

Закрыто на этом остатке: установка по умолчанию с выключенной регистрацией; путь с включённой проверкой email (этот путь проверяет form.Code); привязка email при завершении приглашения (класс CVE-2022-39306, всё ещё присутствует); Grafana Admin (isGrafanaAdmin). Не неаутентифицированный RCE. Пропустите Grafana G2 (IAM SSOSetting k8s authorizer).

Как я это нашёл

Я зафиксировал Grafana OSS 13.2.3. Стандартная OSS-сборка не дала результата на этой планке. Я всё равно занялся путём открытой регистрации. POST /api/user/signup/step2 неаутентифицирован. SignUpStep2 создаёт пользователя, затем загружает ожидающие приглашения по email. form.Code требуется только когда VerifyEmailEnabled имеет значение true.

Уже зафиксированные ложные пути: повторная подача CVE-2022-39306 (завершение приглашения всё ещё привязывает email); трактовка стандартного defaults.ini как этого остатка (там регистрация выключена); неаутентифицированный SCIM в OSS (nil k8s client); обратная оболочка. Театр.

Лаборатория

python3 grafana-signup-invite-join-Abraxas-Labs.py

или:

cd lab
./run.sh

Цель только http://127.0.0.1:19350. Образ grafana/grafana:13.2.3 с GF_USERS_ALLOW_SIGN_UP=true и выключенной проверкой email.

SUCCESS GRAFANA-SIGNUP-INVITE-JOIN version=13.2.3 invite-org=2 invite-code-len=30 step2-code-sent=empty step2-redirect=redirect-to-select-org api-role=Admin sqlite-role=Admin temp-status=Completed control-invite-org-role=none GRAFANA-SIGNUP-INVITE-JOIN-WITNESS

Исправление

Требуйте код ожидающего приглашения или подтверждение почтового ящика перед applyUserInvite при регистрации. Не привязывайте строки InvitePending только по совпадению email.

Ссылки

  • github.com/grafana/grafana тег v13.2.3
  • signup.go · org_invite.go
  • Рядом (не этот путь): CVE-2022-39306
  • CWE-862

Лицензия

GNU Affero GPL v3.0. См. LICENSE. Только лаборатория на loopback. Без гарантий.

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