Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gitea-stargazers-hidden — 認証不要のGitea情報漏洩に関するPoCおよびラボ: stargazersおよびwatchers APIが、プロファイルエンドポイントでは隠されているユーザー名を漏洩します。 | Kitploit
ツール/GitHubGitHub/abraxas/gitea-stargazers-hidden
偵察脆弱性分析情報収集ウェブセキュリティペネトレーションテストAPIセキュリティラボと実践
GitHubabraxas/gitea-stargazers-hidden

gitea-stargazers-hidden

認証不要のGitea情報漏洩に関するPoCおよびラボ: stargazersおよびwatchers APIが、プロファイルエンドポイントでは隠されているユーザー名を漏洩します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - gitea-stargazers-hidden

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  gitea-stargazers-hidden

gitea-stargazers-hidden

Gitea 1.27.3 - Gitea

制限ユーザーとプライベートユーザーは、匿名の閲覧者からは見えないことになっている。GetInfo はすでにそれらを 404 にしている。フォロワーリストはすでに SQL で isUserVisibleToViewerCond を適用している。GetStargazers は可視性フィルタのない star の join である。ListStargazers はその後、すべてを convert.ToUser する。ListSubscribers はウォッチャーに対しても同じ形である。

ログインせずに、公開リポジトリの stargazers JSON は GET /users/{name} が隠すユーザーを名指しする。

IDCVE はまだなし
CWECWE-200
CVSSMedium: 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
ProductGitea
Affectedv1.27.3 (146cc3e) まで
Auth未認証
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 のみ

攻撃者ができること

ログインせずに、公開リポジトリの stargazers と watchers を読み取り、GET /users/{name} が隠すユーザー名を知る。これは、公開リポジトリにスターを付けた、またはウォッチした制限アカウントとプライベートアカウントに対する偵察である。つまり、検索に表示されないように可視性を設定したのに、それでもスターをクリックした人々である。

それはユーザー名であり、メールアドレスではなく、プライベート git の読み取りでもなく、RCE でもない。Follow 204 vs 404 オラクルと組み合わせれば、プロフィールが 404 を返す場合でも、隠されたログインが存在することを確認できる。

発見の経緯

可視性は 1.27.3 GHSA の波のテーマであった。製品が意図的にプロフィールを 404 にするとき、次の疑問は、どのリストエンドポイントがその条件なしで依然として user を join しているかである。stars と watchers がそうである。

私は hidstar を制限ユーザーとして仕込み、公開リポジトリにスターを付け、ウォッチし、トークンなしでインスタンスにアクセスした。未認証の GET /api/v1/users/hidstar は 404 である。未認証の stargazers JSON には hidstar が含まれる。未認証の watchers には hidstar が含まれる。未認証の followers HTML には含まれない。プロフィールは恥ずかしがり屋である。star テーブルはそうではない。

すでに記録された誤った道:未認証の GET /users/hidstar が 200 を返す(その場合、可視性は完全にオフである - ラボでは 404 が必要);followers HTML が hidstar をリストする(そのパスはすでに条件を適用している);公開名のみの /stargazers の 200 を SUCCESS として扱う;リバースシェル。演劇である。漏洩は JSON 内の制限ログインである。

ラボ

cd lab
./run.sh

ターゲットは http://127.0.0.1:18133 のみ。Compose は public,limited,private の可視性を許可し、stars をオンのままにする。

unauth-user-get status=404
unauth-stargazers status=200 stargazer-names=['hidstar']
unauth-watchers leak=True
unauth-followers-web limited-in-html=False
SUCCESS GITEA-STARGAZERS-HIDDEN

修正

GetStargazers / GetRepoWatchers で isUserVisibleToViewerCond を適用する。未認証の stargazers と watchers は、followers がすでに行っているのと同じように hidstar を省略しなければならない。

参考文献

  • github.com/go-gitea/gitea タグ v1.27.3
  • star.go ルーター · star.go モデル · subscriber.go · GetInfo · GetUserFollowers
  • 同じタグ:gitea-follow-existence
  • CWE-200

ライセンス

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

ツールをダウンロード