Critical Gogs Flaw Enables Remote Code Execution Through Path Traversal
2026/08/29 gbhackers — Gogs が公表したのは、セルフホスト型 Git サービスに存在する、重大な脆弱性 CVE-2026-52813 に関する情報である。この脆弱性を悪用する認証済みの攻撃者は、組織の作成処理におけるパス・トラバーサルを悪用し、サーバ上でコマンドを実行する可能性がある。この脆弱性を報告したのは、Aikido のセキュリティ研究者 Jorian Woltjer であり、Gogs バージョン 0.14.3 で修正されている。

この問題は、サニタイズされていない組織名を受け入れ、ファイル・システムのパス構築処理へ渡していた API エンドポイントに起因する。Gogs は、設定されたリポジトリ・ルートへ組織名を追加するために filepath.Join を使用している。標準のアカウント登録制御でのユーザー名の表記は、安全な英数字/ハイフン/アンダースコア/ピリオドに制限されていたが、組織作成 API では同様の検証が実施されていなかった。
Gogs の重大な脆弱性によりリモート・コード実行が可能に
認証済みの攻撃者は、”../” を含むトラバーサル・パスを指定することで、本来の保存パス外のリポジトリを Gogs に作成させる可能性がある。たとえば、”/tmp” などの書き込み可能な一時領域を標的とする攻撃者は、細工した組織名を用いることで、指定したファイル・システム上の場所にベア Git リポジトリを初期化する。

当初、この動作で可能になるのは、制約されたファイル書き込みプリミティブだけに見えていた。ベア・リポジトリには、通常のワーキング・ツリーではなく Git メタデータが格納されるため、任意のアプリケーション・ファイルを上書きできる可能性は限定されていた。
しかし Woltjer は、Gogs の Web ベースの編集機構を悪用して、このプリミティブをリモート・コード実行 (RCE) へと発展させる手法を実証した。ユーザーが Web インターフェースからリポジトリ内のファイルを編集するときに、Gogs は一時的なワークツリーを作成する。したがって攻撃者は、Web 編集に対応する正規のリポジトリを作成した上で、トラバーサルを含む名前の組織を使用し、一時的なワークツリー内に悪意のベア Git リポジトリを配置する可能性がある。
続いて攻撃者は、正規のリポジトリのローカル・クローンから、”traversal.git/hooks/update” などのパスに Git フックをコミットできるようになる。Gogs の Web エディタでは、”.git/” を含むパスがブロックされるが、通常の Git プッシュを使用することで、この制限を回避できる可能性がある。検証ロジックが検索していたのは、正確に “.git” と命名されたパス・セグメントであるため、”traversal.git” などのディレクトリは検査を回避してしまう。
その後、API 経由でネストされたリポジトリにコミットすると、悪意の update フックが実行され、Git サービスで使用されているアカウントの権限で、攻撃者の制御下にあるコマンドが実行される。
今回の情報公開では、Git HTTP リクエストに影響する別の認可処理の脆弱性 CVE-2026-52810 についても取り上げられている。Gogs は、service クエリ・パラメータに基づいてリクエストを読み取り専用のプルとして部分的に扱うが、リクエスト・パスに基づいて処理をルーティングしているため、git-receive-pack リクエストに service=git-upload-pack を指定すると、プッシュがプルとして扱われ、読み取り専用ユーザーによるプライベート・リポジトリへの書き込みが可能になる。
Woltjer の報告によると、この認可の問題は、プライベート・リポジトリの閲覧に認証を必要とする環境に影響を及ぼす。
管理者にとって必要なことは、CVE-2026-52813 に対処する Gogs 0.14.3 以降へのアップグレードである。その上で、不審な組織名や予期しないリポジトリ・パス/不正な Git フックの調査/receive-pack の認可バイパスに対するアップストリームでの修正状況を継続的に確認すべきである。
これらの脆弱性が示しているのは、脆弱な識別子検証や曖昧な認可境界により、Git ホスティング機能がサーバ側の攻撃経路へ変わる可能性であり、特にリポジトリが CI/CD ワークフローへの入力となる環境ではリスクが高まる。
セルフホスト型 Git サービスの Gogs において、識別子の検証不備や認可処理の曖昧さに起因する重大な不具合が判明しました。攻撃者によるパスの走査/システム上での任意のコマンド実行/書き込み権限のない領域への不正なデータ保存などの被害が生じる恐れがあります。これらの不具合には CVE-2026-52813/CVE-2026-52810 が割り振られております。システムへの深刻な影響を防ぐためにも、修正が適用された最新バージョンへのアップデートや、不審な設定値の確認といった適切な処置が強く求められます。
You must be logged in to post a comment.