Critical Gitea Vulnerability Allows Attackers to Execute Malicious Code Remotely
2026/07/29 CyberSecurityNews — Gitea の深刻な脆弱性 CVE-2026-60004 を悪用する攻撃者は、脆弱なサーバ上で任意の shell command (シェル・コマンド) を実行する可能性がある。この問題は Gitea バージョン 1.17〜 1.27.0 に影響を及ぼし、バージョン 1.27.1 で解決されている。この欠陥は、Git コマンドを使用してリポジトリ・パッチ処理を担う、Gitea の diffpatch endpoint に存在する。リポジトリへの標準的な書き込みアクセスを持つ攻撃者が、この機能を悪用することで、一時的な bare repository clone 内に悪意の Git hook が配置されてしまう。

clone のリポジトリ・ルートが Git の directory として機能するため、hooks/post-index-change に置かれた細工済みファイルは、アクティブな Git hook になり得る。
この攻撃は、特別に細工されたパッチを、繰り返して 2 回送信することで開始される。それにより Gitea は、index 関連のオプションを指定した git apply コマンドを介して、悪意のパッチを適用してしまう。
Gitea の RCE 脆弱性
Git バージョン 2.32 以降においては、add/add collision が検出された際に、three-way merge fallback が実行される場合がある。この処理中に Git は、--cached option による操作が実行されている場合であっても、indexed path を checkout する。
リポジトリ・ルートが Git directory としても機能するため、この挙動により bare Git repository に対して重大なリスクが生じる。つまり、hooks/post-index-change に書き込まれた悪意の実行可能ファイルが、単なる通常のリポジトリ・コンテンツではなく、live hook として扱われてしまう。
その結果として、Git は index の更新中に hook を実行するため、Gitea サービスを実行するオペレーティング・システム・アカウントで、攻撃者が制御するコマンドは動作する。
GitHub Security Advisory (GHSA-rcr6-4jqh-j84m) によると、この脆弱性の CVSS v3.1 スコアは 9.8 (Critical) であり、ネットワーク攻撃ベクター/低複雑度の攻撃/ユーザーインタラクション不要と、機密性/完全性/可用性への大きな影響を示している。
この脆弱性は CWE-94 (Improper Control of Code Generation) に分類されるが、一般にはコード/インジェクションの欠陥を指す。エクスプロイトに際しては、リポジトリへの書き込みアクセスが必要だが、open registration が有効化されているインスタンスでは、このアクセスを容易に奪取される可能性がある。
未認証のビジターが、通常のアカウントを登録してリポジトリを作成した後に、脆弱な diffpatch route を使用してコードを実行する可能性がある。そのため、公開アクセス可能な Gitea デプロイメントは特に脆弱になる。
app.ini コンフィグファイル/アプリケーション・シークレット/環境変数/マウントされたリポジトリ/データベース認証情報/OAuth トークン/統合認証情報などの機密性の高い Gitea リソースが、悪用に成功した攻撃者より奪取される可能性がある。
このエクスプロイトの影響は、Gitea サービス・アカウントに割り当てられた権限と、サーバ周辺の隔離管理策に応じて異なるものとなる。
この脆弱性を悪用する攻撃者が必要とするのは、Git バージョン 2.32 以降/有効化された diffpatch route/ファイルの書き込みと実行を許可する一時ファイルシステムである。
Proof of Concept は、Git objects と認証済み Smart HTTP を通じて、コマンド出力を取得すると報告されている。つまり、攻撃者は、標的ホストからのアウトバウンド・ネットワーク接続を必要としない可能性がある。管理者にとって必要なことは、Gitea バージョン 1.27.1 に速やかにアップグレードすることだ。
パッチが適用されるまでの間において、ユーザー組織に求められるのは、diffpatch 機能へのアクセスを無効化または制限/public registration の無効化/リポジトリ書き込み権限の制限となる。その上で、サービスアカウント権限を確認し、異常なパッチ送信や予期しない hook 関連アクティビティの有無について、Gitea と Git のログで監視すべきである。
最近の Gitea は、複数のセキュリティ修正を提供している。それが浮き彫りにするのは、迅速なアップグレードと継続的な露出管理の重要性である。
訳者後書:Gitea において、パッチ処理機能の不備を突く攻撃者に対して、サーバ上での任意のコマンド実行を許す深刻な脆弱性 CVE-2026-60004 が見つかりました。この問題は、書き込み権限を持つユーザーが作成した不正なファイルが、処理の過程で実行されてしまうことに起因します。その結果、システムの設定情報やデータベースの認証情報などの機密データが漏洩する恐れがあります。対応策として、最新版のバージョン 1.27.1 への迅速な更新や新規ユーザー登録の制限などが推奨されます。開発環境を安全に利用するためにも、最新ソフトウェアへの更新や権限の適切な管理が必要となります。
You must be logged in to post a comment.