「Giteaを使って社内でソースコードを管理しているけど、本当に安全なの?」
「HTTPヘッダー1行で管理者になれるって、どういうことでしゅか?」
ボス、GiteaのCVE-2026-20896って本当にヤバいんでしゅよね。パスワードもトークンも要らないって意味でしゅか?
ああ、ヤバい。X-WEBAUTH-USERというヘッダーを1行付けて送るだけで、パスワードなしに管理者アカウントを含む任意のユーザーに成りすませる。しかも公開から13日で実際の攻撃が確認されている。
2026年7月、GitteaのDockerイメージに存在するCVSS9.8の認証バイパス脆弱性CVE-2026-20896が積極的に悪用されていることが確認されました。
デフォルト設定の誤りが原因で、攻撃者はHTTPヘッダーを1行追加するだけで管理者権限を乗っ取ることができます。
現在もインターネット上に公開されたままの約6200台のGiteaサーバーが危険にさらされている状況です。
- CVSSスコア9.8、Gitea Docker 1.26.2以下が影響対象。今すぐ1.26.3以上へアップデートを
- パスワード・トークン一切不要。HTTPヘッダー1行で管理者になりすませるデフォルト設定の欠陥
- 公開から13日で積極悪用が確認。ソースコードやAPIキー・CI/CD設定が丸ごと奪われるリスク
この記事では、脆弱性の仕組みと悪用状況、そして今すぐ取るべき対策を解説します。
目次
CVE-2026-20896の発覚と悪用の経緯
脆弱性の発覚から積極悪用に至るまでの経緯を整理します。
CVSS9.8のCritical脆弱性、公開からわずか13日で積極悪用へ
CVE-2026-20896はGitea公式Dockerイメージのバージョン1.26.2以前に存在する認証バイパス脆弱性です。
CVSSスコアは9.8(Critical)と評価されており、パスワードやトークンを一切必要とせずに任意のユーザーになりすましが可能です。
脆弱性の公表後、わずか13日以内に実際の攻撃活動が確認されました。
以下に発覚から悪用までの経緯をまとめます。
- Gitea 1.26.3/1.26.4で修正パッチが公表される
- 公表から13日後、ProtonVPN出口ノード(IP: 159.26.98[.]241)からの探索活動を研究者が検知
- Shodan調査で約6,200台のGiteaサーバーがインターネットに公開状態と判明
- セキュリティ研究者がCISAへの報告と同時に広範な警告を発表
13日って早すぎでしゅ!パッチが出てもすぐに悪用されてしまうんでしゅね。
脆弱性の詳細が公開されると、攻撃者はすぐにスキャンツールを作って動かし始める。パッチを当てるまでの時間が勝負だ。
社内Gitサーバーを持つ企業や開発チームへの影響
Giteaは、GitHubのセルフホスト代替として世界中の開発チームに採用されています。
日本国内でも、セキュリティ上の理由からクラウド型サービスを避け、社内にGitリポジトリサーバーを立てているケースは少なくありません。
インターネットに公開されているGiteaサーバーが今回の攻撃対象となっています。
特に影響が大きいのは以下のような組織です。
- VPNなしで社外からGitteaにアクセスできるよう公開しているチーム
- Docker公式イメージをそのままデフォルト設定で使用している環境
- バージョン管理が追いついておらず、1.26.2以前を継続して利用している組織
脆弱性の仕組みと奪われるデータの深刻さ
なぜHTTPヘッダー1行で管理者権限が奪えるのか、その仕組みを解説します。
デフォルト設定の誤りが招いた認証バイパスの仕組み
この脆弱性の根本原因は、Gitea公式Dockerイメージのデフォルト設定にあります。
通常、リバースプロキシ認証では「信頼できるプロキシのIPのみを許可する」設定が必要です。
しかし1.26.2以前のDockerイメージは REVERSE_PROXY_TRUSTED_PROXIES = * という設定になっており、あらゆるIPアドレスを信頼できるプロキシとして扱います。
この設定の下でリバースプロキシ認証が有効になっていると、攻撃者は以下の手順だけで管理者になりすませます。
- 攻撃者はGiteaへのHTTPリクエストに
X-WEBAUTH-USER: admin というヘッダーを1行追加する
- Giteaはこのヘッダーをリバースプロキシからのユーザー認証情報として信頼する
- パスワードも2FAも一切確認せずに、指定したユーザーとしてログイン状態になる
ソースコードからCI/CD設定まで、奪われるデータの深刻さ
管理者に成りすましできたら、何でもできてしまうんでしゅか?
そうだ。ソースコードはもちろん、リポジトリの中に埋め込まれたシークレットが根こそぎ持ち出される。しかもCI/CDの設定を改ざんされると、ビルドパイプライン経由でマルウェアを仕込まれるサプライチェーン攻撃にもつながる。
管理者権限を奪われると、以下のようなデータや権限が危険にさらされます。
- 全リポジトリのソースコード(プライベートリポジトリを含む)
- リポジトリ内に保存されたAPIキー・データベース認証情報・SSH秘密鍵
- CI/CDパイプライン設定の改ざん(サプライチェーン攻撃に悪用される可能性)
- 全ユーザーのアカウント情報とアクセス権限の操作
修正済みのGitea 1.26.3/1.26.4では、リバースプロキシ認証はデフォルトで無効となり、オプトイン方式に変更されました。
現在Giteaを利用している場合は、Gitea公式ブログのリリースノートを確認のうえ、即時アップデートを実施してください。
まとめ
Giteaを使っているなら今すぐバージョンを確認しろ。1.26.2以前なら即日アップデートだ。インターネットに公開しているなら、パッチ前にアクセス制限をかけることも考えるべきだな。
わかりましゅ!バージョン確認してすぐにアップデートしましゅ!
CVE-2026-20896はデフォルト設定の誤りという単純な原因ながら、認証を完全にバイパスできるCVSS9.8の深刻な脆弱性です。
公開から13日という短期間で実際の攻撃が確認されており、Gitea Dockerを利用しているすべての環境で即時対応が求められます。
バージョン1.26.3以上へのアップデート、インターネットへの不必要な公開の解消、そしてリポジトリ内に平文で保存されたシークレットの棚卸しを、今すぐ実施してください。