Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-20896 — 公開PoCおよびCVE-2026-20896(「Gitea Docker: 1つのヘッダーで任意のユーザー」)の検出器 | Kitploit
ツール/GitHubGitHub/rz1027/cve-2026-20896
脆弱性分析エクスプロイトウェブセキュリティペネトレーションテスト認証設定ミス学習と教育レッドチーミング
GitHubrz1027/cve-2026-20896

CVE-2026-20896

公開PoCおよびCVE-2026-20896(「Gitea Docker: 1つのヘッダーで任意のユーザー」)の検出器

リポジトリを見る
611ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

CVE-2026-20896

Gitea の公式 Docker イメージ(1.26.2 まで)は、デフォルト設定で REVERSE_PROXY_TRUSTED_PROXIES = * を同梱しています。リバースプロキシログインを有効にすると、このワイルドカードによりすべての送信元 IP が信頼できるプロキシとして扱われるため、ポートに到達できる人は誰でも X-WEBAUTH-USER ヘッダーを送信して、任意のユーザーとしてログインできます。パスワードもトークンも不要です。

この問題は Gitea に報告済みで、1.26.3 / 1.26.4 で修正されています。このリポジトリは、私自身の解説、動作する PoC、およびチェッカーです。対象はパッチ適用済みの公開バグです。

  • CVE レコード: https://www.cve.org/CVERecord?id=CVE-2026-20896 (報告者: rz1027)
  • Gitea セキュリティアドバイザリ: https://github.com/go-gitea/gitea/security/advisories/GHSA-f75j-4cw6-rmx4
  • 修正 / リリースノート: https://blog.gitea.com/release-of-1.26.3-and-1.26.4/

The bug

Gitea はリバースプロキシ認証をサポートしています。X-WEBAUTH-USER を設定するプロキシの背後に配置すると、Gitea はそのヘッダーをユーザー名として信頼します。これを設定できるのが自分のプロキシだけである限り問題ありません。それを強制するための設定が IP 許可リストである REVERSE_PROXY_TRUSTED_PROXIES です。Gitea はリクエストの送信元 IP がその範囲内にある場合のみヘッダーを尊重します。

ドキュメント上安全なデフォルト(app.example.ini 内のもの)は 127.0.0.0/8,::1/128 です。ループバックのみなので、初期状態ではローカルプロキシだけが信頼されます。公式 Docker イメージはこれを使用していません。その app.ini テンプレートは * をハードコードしています(docker/root/etc/templates/app.ini:55、ルートレスイメージでは docker/rootless/etc/templates/app.ini:52)。* はすべての送信元 IP に一致するため、許可リストのチェックは何もしません。リバースプロキシログインを有効にすると、自分のプロキシだけでなく、ポートに到達できる誰もがヘッダーを送信できるようになります。自動登録が有効な場合、アカウントはその場で作成されます。管理者のユーザー名を送信すれば、あなたは管理者になります。

つまりコードが間違っているのではなく、同梱されているデフォルト設定が問題で、しかも Docker イメージに固有の問題です。app.example.ini に従ったバイナリインストールや自前ビルドのインストールはループバックデフォルトのままで影響を受けません。

Try it

Docker と Python 3 が必要です(標準ライブラリのみで、追加インストールは不要です)。

root@kitploit:~
docker compose up -d          # boots vulnerable gitea/gitea:1.26.2
# give it ~30-60s to finish first-run setup, then:
python3 poc.py                # random new victim, shows auto-registration
python3 poc.py http://localhost:3000 admin   # impersonate a chosen username
docker compose down -v        # clean up

同梱イメージに対して実行した結果は次のようになります。

root@kitploit:~
1) /user/settings with no header        -> HTTP 303   (redirect to login = not authed)
2) /user/settings with X-WEBAUTH-USER    -> HTTP 200
   logged in as 'pocadmin' - no password, no token, any source IP
3) /pocadmin profile page                -> HTTP 200   (account created on the fly)

このバイパスは Web セッションで機能し、ヘッダーを無視する /api/v1/... のトークン API では機能しません。

Check your own instance

detect.py は無害なプローブを 1 回送信し、通常のリクエストと比較します。何も変更しません。

root@kitploit:~
python3 detect.py https://gitea.example.com

VULNERABLE、looks-safe、または inconclusive を出力します。所有しているかテストを許可されている対象に対してのみ実行してください。

Fix

1.26.3 / 1.26.4 以降にアップグレードしてください。リバースプロキシ認証は現在オプトインとなり、イメージにはワイルドカードが同梱されなくなりました。まだアップグレードできない場合は、REVERSE_PROXY_TRUSTED_PROXIES をプロキシの実際の IP または CIDR に設定し(* は絶対に使わない)、使用していない場合は ENABLE_REVERSE_PROXY_AUTHENTICATION をオフにしてください。

Timeline

  • 2026-05-26: Gitea に非公開で報告。
  • 2026-07-03: CVE-2026-20896 公開。rz1027 にクレジット。
  • Gitea 1.26.3 / 1.26.4 で修正。

Credit

このバグを発見し、2026-05-26 に Gitea へ報告しました。私は Gitea のアドバイザリ GHSA-f75j-4cw6-rmx4 に記載されている報告者です。

一部の報道では、この件を私ではなく Exploitarium リポジトリの功績としています。それは誤りであり、そのリポジトリが公開したものとは別件です。その後、それらのブログ記事のうちいくつかは修正してもらいましたが、まだ誤ったままのものもいくつかあります。

MIT ライセンスです。LICENSE を参照してください。

ツールをダウンロード