Gitea の 27件の脆弱性が FIX:深刻な SSH 認証バイパスや SSRF の恐れ

Gitea Patches 27 Security Flaws, Including Critical SSH Authentication Bypass and SSRF

2026/10/08 CyberSecurityNews — Gitea がリリースしたのは、バージョン 28.0.0 以下に存在する 27 件の脆弱性を修正する、28.1.0 へのセキュリティ・アップデートであり、深刻な SSH 認証バイパス/サーバサイド・リクエスト・フォージェリ (SSRF) などの欠陥に対応するものだ。修正の対象に含まれるのは、アカウントへのアクセス/リポジトリの権限/自動化されたワークフロー/内部システムへの接続などである。管理者に求められるのは、開発インフラにおけるアップデートを、緊急性の高い優先事項として扱うことである。

9月30日にリリースされた Gitea 28.0.0 のセキュリティノートには、20 件の CVE が記載されている。報告された 27 件の修正は、28.0.0 固有のものではなく、リリース 28.1.0 にまたがる修正件数である。また、Gitea は従来のバージョン番号の接頭辞「1.」を廃止し、今回のリリースを 1.28.0 ではなく 28.1.0 とした。

特に注目されるのは、CVSS 9.1 の CVE-2026-103059 であり、Gitea の組み込み SSH サーバを使用する環境に影響する。この脆弱性は、公開鍵の検索に SQL の LIKE 比較を使用していたことに起因する。デフォルトの SQLite を含む一部のデータベースでは、この比較で英字の大文字/小文字が区別されない。そのため、特別に細工された RSA 鍵が、別のユーザーの登録済み公開鍵と一致する可能性があった。

この脆弱性を悪用する攻撃者は、被害者の公開鍵に対して、大文字/小文字を適切に変更した鍵を作成し、それに対応する秘密鍵を導出できる。それにより、被害者になりすまして、認証をバイパスする可能性がある。

ただし、任意に変更した鍵でだけ認証を回避できるわけではなく、攻撃者は特定の鍵の条件を満たす必要がある。この脆弱性の修正において Gitea は、提示された公開鍵をフィンガープリントによって識別する方式に変更し、安全ではない文字列比較を排除した。

27 件のセキュリティ脆弱性を修正

修正された複数の脆弱性の中には、リポジトリの移行/ミラーリングによって、外部への接続を制限するルールを回避するという問題が存在する。脆弱性 CVE-2026-70357 は、ホスト名の検証と実際の Git 接続との間に生じる、時間的な隔たりに関係する欠陥である。

その間にホスト名の DNS 応答を変更する攻撃者は、直近のセキュリティ・チェックを通過した後に、Gitea の接続先を内部ホストへ誘導する可能性がある。

脆弱性 CVE-2026-101027 により、許可済みドメインに対する接続で宛先 IP アドレス・チェックの省略が可能になる。一方、CVE-2026-101029 では、複数の DNS 応答を利用して外部接続の許可リストを回避できる。

別の脆弱性 CVE-2026-89430 では、保存済みの接続先アドレスが以前のチェックを通過している場合に、プッシュミラーによる内部 Git ホストへの接続が可能となり、強制プッシュが引き起こされる恐れがある。

現時点における Gitea は、Git のネットワーク操作を内部プロキシ経由で処理し、実際の接続時に外部接続ルールを適用する仕組みに変更している。管理者はアップグレード前に、この設定変更を確認する必要がある。デフォルトで拒否するポリシーを適用する場合、リリースノートでは EGRESS_MODE = strict を設定し、接続を許可するホストを明示的に指定するよう案内している。


今回のアップデートでは、Gitea Actions の承認処理に関する問題も修正された。CVE-2026-104632 を悪用する攻撃者が、承認待ちの状態でキャンセルされたフォーク由来のワークフローを再実行すると、セルフホスト型ランナーとして実行する可能性がある。

CVE-2026-94205 では、イベントを発生させたユーザーだけを確認しているため、メンテナが起動したイベントを通じて、信頼されていないコントリビューターのワークフローが、承認を必要とせずに実行される可能性がある。今回のアップデートで、いずれの承認チェックも強化されている。


その他の修正には、コンテナの blob に存在する、蓄積型クロスサイト・スクリプティング (XSS)/悪意のファイルをレビュー担当者から隠す可能性がある Git ツリーエントリの重複/パスワードを検証せずに既存の管理者のセッションを発行するインストーラなどの脆弱性が含まれる。権限に関する修正では、リポジトリ移管後に残存するアクセス権を削除し、デプロイキーがリポジトリ所有者の権限を継承することも防止している。

管理者に求められるのは、データのバックアップと、互換性に影響する変更点を確認した上で、Gitea 28.1.0 へアップグレードすることである。Gitea のリリースノートでは、新しいネットワーク接続ルール/Git 2.25 以上という最小要件/ワークフローの動作変更について説明されている。

プライベート・リポジトリの権限バイパスに関する関連報道も、Gitea のアクセス制御に伴うリスクを理解する上で参考になる。また、過去に報じられた Gitea の RCE 脆弱性の悪用により、パッチ適用の遅延が問題となる理由も示されている。ただし、これらの攻撃で悪用されたのは、今回修正された問題とは別の脆弱性である。