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 がコードなしで保留中の組織招待に参加する

リポジトリを見る
74日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

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 を実行するとアカウントが作成され、applyUserInvite がそのアドレスに対するすべての InvitePending 行を invite.Role で紐付ける。この経路では30文字の招待コードは一切要求されない。ロールは Admin になり得る。

招待されたメールアドレスを知っていればよい。招待コードは不要。Admin として組織に参加できる。

IDCVE 未採番
クラス権限の置き忘れ
到達性リモート (未認証 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)。オープンサインアップ経路
認証未認証。メール検証はデフォルトでオフ。標準の defaults.ini ではサインアップはオフ。
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

攻撃者ができること

招待されたアドレスが必要 (招待メール、推測、または別の漏洩経路)。メールボックスは不要で、招待コードも不要。既存の Grafana アカウントも不要。

権限メソッド / シンク偵察 / 完全性 / 可用性ラボで実証済みか推測か
招待されたメールアドレスでアカウントを作成未認証の POST /api/user/signup/step2 に code=""完全性 (アカウント作成)ラボで実証済み。セッション /api/user の login=invitee
招待ロールで招待された組織に参加 (このラボでは Admin)GetTempUsersQuery{Email, InvitePending} からの applyUserInvite完全性 (組織メンバーシップ + ロール)ラボで実証済み。/api/user/orgs の role=Admin。sqlite org_user は Admin
保留中の招待を完了させ、本来の招待者が使えなくするupdateTempUserStatus(..., TmpUserCompleted)完全性 (招待の消費)ラボで実証済み。保留リストは空。sqlite の temp status=Completed
Viewer/Editor 招待でも同様に参加invite.Role がそのままコピーされる完全性推測。ラボでは Admin を使用
ログイン後にその組織を Org Admin として読み書きOrg Admin API (datasources、dashboards、users)偵察 + 完全性推測。ラボは role=Admin で停止
ネガティブコントロール別のメールアドレスで空のコードでサインアップn/aラボで実証済み。invite-org-role=none

この置き忘れで塞がれているもの: サインアップがオフのデフォルトインストール。メール検証オンの経路 (その経路は form.Code をチェックする)。complete-invite のメールバインド (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 はユーザーを作成し、その後メールアドレスで保留中の招待を読み込む。form.Code は VerifyEmailEnabled が true の場合にのみ要求される。

すでに記録済みの誤った道: CVE-2022-39306 の再申請 (complete-invite は依然としてメールをバインドする)。標準の defaults.ini をこの置き忘れとみなすこと (そこではサインアップはオフ)。OSS での SCIM 未認証 (k8s クライアントが nil)。リバースシェル。茶番。

ラボ

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 を設定し、メール検証はオフのまま。

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 行を紐付けてはならない。

参考資料

  • github.com/grafana/grafana タグ v13.2.3
  • signup.go · org_invite.go
  • 関連 (この経路ではない): CVE-2022-39306
  • CWE-862

ライセンス

GNU Affero GPL v3.0。LICENSE を参照。ループバックラボのみ。無保証。

ツールをダウンロード