Git管理プラットフォーム「Gitea」に深刻なRCE脆弱性、パッチ適用処理の悪用で任意コマンド実行の恐れ
要点
- セルフホスト型のGit管理ツール「Gitea」において、遠隔からシステムコマンドを実行可能になる深刻なリモートコード実行(RCE)の脆弱性が発見された。
- 影響を受けるのはバージョン1.17以降、1.27.1未満の環境で、すでに対策済みのバージョン1.27.1が公開されている。
- 脆弱性の深刻度を示すCVSSスコアは、最大値に近い「9.8」と極めて高い値になっている。
- 通常のリポジトリ書き込み権限を持つユーザーがパッチ適用APIを悪用してGitフックを書き換えることで、任意のシェルコマンドを実行できる。
- デフォルトの設定では外部から誰でもアカウントを作成できるため、事前アカウントがない状態からでも悪用可能だった。
リード文
Git管理プラットフォーム「Gitea」において、深刻なリモートコード実行(RCE:遠隔地からシステム上で任意のコマンドを実行できること)の脆弱性が修正されたことが明らかになった。セキュリティ研究者のShai Rod氏(NightRang3r)がこの脆弱性を発見し、Giteaの開発チームが2026年7月28日にセキュリティアドバイザリを公開した。この脆弱性を悪用されると、通常のリポジトリ書き込み権限を持つユーザーがパッチ適用処理を悪用してGitフックを設置し、Giteaのサービスアカウント権限でシェルコマンドを実行できるという。
脆弱性の影響範囲と深刻度
今回修正された脆弱性は「CVE-2026-60004」として追跡され、脆弱性の深刻度を評価する標準指標であるCVSSスコアでは「9.8」と評価されている。影響を受けるのはバージョン1.17以降で、1.27.1未満のGiteaである。
Gitea開発チームはすでに修正版となるバージョン1.27.1をリリースしており、クラウドサービスのGitea Cloudインスタンスについては、2026年7月27日に対策が完了している。現時点で実際の悪用被害は報告されていないが、検証用の実証コード(PoC)が公表されている。
アカウントの新規登録がもたらす危険性
本脆弱性の悪用には、ログインとリポジトリへの「書き込み権限(コードの変更などをリポジトリへ反映できる権限)」が必要となる。しかし、Giteaのデフォルト設定では「オープン登録(誰でも自由にアカウント登録できる設定)」が有効になっている。新規登録に管理者の承認やメール確認が不要で、リポジトリ作成制限もないため、外部の攻撃者であってもアカウントを自ら新規作成し、悪用に必要な書き込み権限を容易に取得できる状態にあった。
パッチ適用処理とGitフックを悪用する技術的詳細
不具合は、パッチ適用時のエンドポイント POST /api/v1/repos/{owner}/{repo}/diffpatch に存在する。ここでは、一時的な「ベア(作業ファイルを持たず履歴のみを管理するリポジトリ形態)」クローン内で git apply が実行され、Git 2.32以降では競合解決の「3ウェイフォールバック(-3)」が追加される。
同じパッチを2回送信して競合を起こすと、このフォールバックが作動してキャッシュ用のパッチが作業領域に書き出される。クローンがベア状態のためルートがGitの設定領域($GIT_DIR)と重なっており、パッチ内のファイルがGitフック(特定の操作を契機に自動実行されるスクリプト)の保存先である hooks/post-index-change に配置される。インデックス更新時にこのフックが自動実行されてコマンドが起動し、その結果は外部通信なしでGitオブジェクト経由で回収される。
侵害時の影響と修正の内容
悪用に成功すると、攻撃者はGiteaを実行するOSアカウントの権限を得る。環境によっては、シークレット情報やマウントされたリポジトリ、データベースの認証情報、OAuthトークン、内部ネットワーク上のサービスまで侵害されるリスクがある。
Gitea開発チームは、パッチ適用時の一時クローンを「ベア」から「非ベア(作業領域を持つ通常のリポジトリ形態)」に変更し、管理ディレクトリへの書き込みを防ぐ修正を施した。修正は2026年7月26日にマージされ、バージョン1.27.1に適用された。しかし、この修正はリリースノートの「SECURITY」項目ではなく「MISC(その他)」欄に「refactor: git patch apply」として掲載されたため、見落とされやすいと指摘されている。
回避策とその他のバグ修正
根本的な対策はバージョン1.27.1へのアップグレードである。暫定的な回避策として、新規登録機能を無効にして外部からのアカウント作成を防ぐ方法があるが、これは既存ユーザーによる悪用を防ぐものではない。
発見者のShai Rod氏は、本件と並行してサーバー上の任意のシステムファイルを閲覧できる「ローカルファイルインクルード(LFI:サーバー上の特定のファイルを読み込む脆弱性)」の問題も事前公開しており、バージョン1.27.1ではその修正も実施されたとみられている。