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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gitea-hostmatcher-0000-ssrf — Giteaのhostmatcher許可リストにおける認証済みSSRFを実証するPoCラボ。ここでは、http://0.0.0.1 へのWebhookが、127.0.0.1 では到達できないループバックサービスに到達します。 | Kitploit
ツール/GitHubGitHub/abraxas/gitea-hostmatcher-0000-ssrf
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストラボと実践
GitHubabraxas/gitea-hostmatcher-0000-ssrf

gitea-hostmatcher-0000-ssrf

Giteaのhostmatcher許可リストにおける認証済みSSRFを実証するPoCラボ。ここでは、http://0.0.0.1 へのWebhookが、127.0.0.1 では到達できないループバックサービスに到達します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - gitea-hostmatcher-0000-ssrf

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  gitea-hostmatcher-0000-ssrf

gitea-hostmatcher-0000-ssrf

Gitea 1.27.3 - Gitea

CVE-2026-22874 は reservedIPNets を追加した。CGNAT、TEST-NET、NAT64、Teredo、Azure WireServer。実際のレンジだ。RFC 6890 の 0.0.0.0/8、古い「this network」ブロックではない。IANA は今も公開している。Go の IsGlobalUnicast は 0.0.0.1 に対して true を返す。IsLoopback (127.0.0.0/8) ではない。IsPrivate でもない。デフォルトの外部許可リストはこれをパブリックインターネットとして扱う。Linux は 0.0.0.1 が lo 上にあれば、ローカルソケットに配信する。同じリスナー、二つの名前。

サインイン済みユーザーは http://0.0.0.1 に webhook を送り、フック履歴から HTTP ボディを読める。同じポートの 127.0.0.1 は拒否される。

IDCVE 未採番
CWECWE-918
CVSSHigh: 7.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
製品Gitea
影響v1.27.3 (146cc3e) まで; CVE-2026-22874 の残存
認証リポジトリ webhook を作成できるサインイン済みユーザー
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

攻撃者ができること

登録し(デフォルトで登録は開放)、リポジトリを作成し、webhook を http://0.0.0.1:<local-port>/ に向け、テストし、フック履歴からレスポンスボディを読む。これは、同じポートの 127.0.0.1 では到達できないループバック HTTP だ。Gitea の netns 内でリッスンしているもののうち、ループバックより広くバインドしているもの、つまり 127.0.0.0/8 をブロックしているから「localhost 専用」だと運用者が思っていたサービスも含まれる。

これは X-Gitea-Internal-Auth を設定しない。それ自体は RCE ではない。許可リストが今も外部と呼ぶアドレスから取得した、完全な HTTP ボディだ。

発見の経緯

v1.27.3 は 2026 年の GHSA の波を閉じたビルドだ。それでも私はそのタグに留まった。許可リストや拒否リストを追加するパッチは贈り物だ。リストを読み、それから IANA がまだ持っていてリストが忘れたものを問う。このツリーにはすでに二つの残存に対するラボがあった(keys IDOR と git-redirect SSRF)。その投稿の残存テーブルには、http://0.0.0.1/ への webhook が地図として載っていた。これが SUCCESS だ。

webhook 配信は HTTP ボディをフック履歴に保存する。これは git clone よりも優れたオラクルだ。git clone はほとんど「フェッチが成功したか」でしかない。私は Gitea の netns 内のポート 8080 にオラクルを置き、NET_ADMIN で lo に 0.0.0.1/8 を追加し、二つの webhook を作成した。まずネガティブコントロール。

すでに記録済みの回り道:webhook 作成の HTTP 201 をオラクルとみなすこと(履歴がオラクルだ);127.0.0.1 の配信が成功すること(それは別のバグだ - ラボでは拒否されることが必要);X-Gitea-Internal-Auth で /api/internal を叩くこと;リバースシェル。茶番だ。証人はフック履歴の GITEA-0000-SSRF だ。

ラボ

cd lab
./run.sh

ターゲットは http://127.0.0.1:18131 のみ。オラクルは Gitea の netns を共有し、ポート 8080 で動く。run.sh は lo に 0.0.0.1/8 を追加する。

create-hook name=neg-loopback status=201
negative-control 127.0.0.1 blocked
create-hook name=hit-0000 status=201
poll id=2 witness=True
SUCCESS GITEA-HOSTMATCHER-0000

修正

reservedIPNets に 0.0.0.0/8 を追加するか、IsGlobalUnicast を「ダイヤルしても安全」とみなすのをやめる。0.0.0.1 は 127.0.0.1 と同じように拒否されなければならない。

参考

  • github.com/go-gitea/gitea タグ v1.27.3
  • hostmatcher.go
  • 近傍の修正済み: CVE-2026-22874
  • RFC 6890
  • CWE-918

ライセンス

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

ツールをダウンロード