Gogs のゼロデイ脆弱性 CVE-N/A:認証済みユーザーによる任意のコマンド実行と PoC

New Gogs 0-Day Vulnerability Lets Attackers Run Malicious Code on the Server Remotely

2026/05/28 CyberSecurityNews — 世界で広く導入されているセルフホスト型 Git プラットフォーム Gogs に、Critical なゼロデイ脆弱性が発見された。この脆弱性を悪用する認証済みユーザーであれば、基盤サーバ上での任意のコマンド実行が可能となる。なお、情報公開の時点ではパッチは提供されていない。

この脆弱性を特定した Rapid7 Labs の研究者 Jonah Burgess (CryptoCat) によると、この脆弱性は CVE が採番されていないが、CWE-88 (引数インジェクション) に分類され、CVSSv4 9.4 (Critical) と評価されている。

この脆弱性は Gogs の “Rebase before merging” マージ操作に存在し、影響の範囲は最新の安定版バージョン 0.14.2 および、開発版バージョン 0.15.0+dev (commit b53d3162) となる。さらに、Rebase マージ機能をサポートする、過去バージョンも影響を受ける可能性が高い。

Gogs 0-Day 脆弱性

この攻撃の手法は、”internal/database/pull.go” 内の Merge() 関数を標的とするものになる。この関数は、プルリクエストのベースブランチ名を、POSIX の “–” 区切りや引数に対する適切なサニタイズなしで git rebase コマンドへ受け渡す。

したがって、”–exec=touch${IFS}/tmp/rce_proof” のような悪意のブランチ名を作成する攻撃者は、そのブランチを用いてプルリクエストを作成できる。

続いて、rebase マージが実行されると、Git の引数パーサは “–exec” をブランチ名ではなくフラグとして解釈するため、各コミット再適用後に攻撃者の指定コマンドが、”sh -c” 経由で実行される。

その結果、Gogs サーバ・プロセス・ユーザー (通常は Docker やバイナリ環境での git ユーザー) 権限で任意のコマンド実行が可能となる。

この脆弱性が、特に深刻である理由は攻撃難易度の低さにある。Gogs はデフォルトでユーザー登録およびリポジトリ作成が無制限に許可されている。

そのため、未認証の攻撃者であっても、アカウント作成/リポジトリ作成と、設定での rebase マージを有効化することで、他ユーザーや管理者の操作を必要とせずに攻撃チェーンを完結できる。

成功時の影響は極めて深刻である。

  • サーバ侵害:Gogs プロセスユーザー権限での任意コマンド実行。
  • クロステナント・データ漏洩:他ユーザーのプライベート・リポジトリなどの全リポジトリの読み取り。
  • 認証情報窃取:パスワードハッシュ/API トークン/SSH キー/2FA シークレットの取得。
  • 横展開:サーバ・ネットワーク内における他システムへの侵入。
  • サプライチェーン攻撃:ホストされたリポジトリ内のコードを改竄。

Gogs は、約 50,000 の GitHub スターと 5,000 以上のフォークを持ち、この脆弱性が公開された時点の Shodan 検索では 1,141 件のインターネット公開インスタンスが確認されている。ただし、内部ネットワークや VPN 環境を含めると、実際の導入数はそれ以上に達すると推定される。

完全に機能する PoC として Metasploit モジュールが公開され、数秒で自動化された攻撃が可能な状況にある。

防御側は、以下の監視を実施すべきである。

  • 重要リポジトリのプルリクエスト履歴を精査する。
  • ブランチ名が “–” で始まるリポジトリを監査する。
  • Gogs サーバログの ERROR で “git checkout ‘–exec=<…>'” のようなパターンを検出する。
  • “/-/user/settings/applications” における不審な “msf_<hex>” トークンを確認する。
対策

現時点でベンダーからのパッチは存在しない。パッチが公開されるまでの暫定措置として、以下の対策を速やかに適用する必要がある。

  • “app.ini” で DISABLE_REGISTRATION = true を設定し、未信頼ユーザー登録を無効化する。
  • MAX_CREATION_LIMIT = 0 を設定し、新規リポジトリ作成を制限する。
  • すべてのリポジトリで “Rebase before merging” 設定を監査する。

2026年3月17日の時点において、この脆弱性は Rapid7 から Gogs メンテナーへ報告されたが、2026年5月の時点でも修正は提供されていない。