PR

Gogs未修正ゼロデイCVE-2025-8110悪用、700超が侵害

Security

Source:https://thehackernews.com/2025/12/unpatched-gogs-zero-day-exploited.html

🛡 概要

クラウドセキュリティ企業Wizの調査によれば、Gogsに存在する未修正の重大脆弱性「CVE-2025-8110(CVSS 8.7)」が活発に悪用され、インターネットに公開された約1,400インスタンスのうち700超で侵害の兆候が確認されています。問題はファイル更新APIにおけるシンボリックリンク(symlink)処理不備による任意ファイル上書きで、先行して修正されたRCE「CVE-2024-55947(CVSS 8.7)」の回避手法(バイパス)として利用可能と報告されています。修正は開発中とされ、当面は公開登録の停止・外部露出の最小化・不審リポジトリのスキャンが推奨されます。

🔍 技術詳細

Wizの公表情報に基づくと、CVE-2025-8110はGogsのPutContents系APIがリポジトリ内のsymlinkを追跡してしまう設計上の欠陥を突き、リポジトリ外の任意パスへ書き込みできてしまう点に起因します。想定される攻撃手順は次の通りです。(1)通常のGitリポジトリを作成。(2)リポジトリ直下に、機微ターゲット(例:/etc/配下、サービス設定、ユーザプロファイル等)を指すsymlinkを1件コミット。(3)Gogsのファイル更新API(PutContents)で当該symlinkにデータを書き込み、OSがリンクを解決することでリポジトリ外の実体ファイルを上書き。(4).git/config内のsshCommand等を改変し、任意コマンド実行やSSH経由の権限奪取に発展。先行するCVE-2024-55947は「任意パスへの書き込みからのRCE」を防止する修正が導入されましたが、Git(およびGogs)が許容するsymlinkを考慮し切れておらず、API経由のファイル更新でその回避が成立しうる点が問題です。Wizは、侵害ホスト上に8文字ランダム名の所有者/リポジトリ(例:IV79VAew / Km4zoh4s)が多数残置されていること、約2025年7月10日前後に集中的に作成されていることを観測。また、デプロイされた不正ペイロードはオープンソースC2「Supershell」を基にし、攻撃者制御サーバ(例:119.45.176[.]196)へリバースSSHで接続する挙動が評価されています。さらにWizは、別脅威として漏えいしたGitHub PAT(Personal Access Token)の悪用が継続的に観測され、最低限のread権限でもAPIコード検索を通じて秘密情報名が把握され、write権限があれば悪性ワークフローを作成・実行してCSPシークレットを取得・痕跡隠蔽されうると注意喚起しています。

⚠ 影響

  • サーバ側:任意ファイル上書き/コマンド実行による完全なホスト乗っ取り、SSH経由の横展開、C2確立
  • リポジトリ/CI:悪性ワークフロー投入、シークレット流出、サプライチェーン汚染
  • 事業継続:ソース流出・改ざん、停止/身代金要求、インシデント対応・監査コスト増
  • CVSS:CVE-2025-8110 8.7(Wiz報告)、CVE-2024-55947 8.7(既修正)

🛠 対策

  • 露出低減:Gogsをインターネット直晒しから撤去し、VPN/ゼロトラスト配下へ。少なくとも管理/APIは社内/特定IPに限定。
  • 登録/権限:オープン登録停止。最小権限・ロール分離、監査ログの保持/監視を強化。
  • 一時回避:リバースプロキシやWAFでcontents/PutContents系のPUT/POSTを暫定ブロック(影響評価の上で限定的に)。
  • Git対策:pre-receive等でsymlinkを含むコミットを拒否(API直書きの抜け道がある点は周知の上、二重化)。
  • ホスト強化:Gogs実行ユーザの権限を最小化し、専用ボリュームにchroot/SELinux/AppArmorでサンドボックス化。マウントにnoexec/nosuid/nodev。
  • インジケータ狩り:8文字ランダム名の所有者/リポジトリを網羅列挙、.git/configのsshCommand改変やauthorized_keys/cron/サービス定義の不正変更を点検。
  • PAT防御:スコープ最小化/期限付き・細粒度PAT、定期ローテーション、OIDC等の短期認証への移行、リポジトリ内シークレットの除去、Actionsの分岐保護とレビュー強制。
  • パッチ:公式修正公開後は最優先で適用、回避策は順次解除。

📌 SOC視点

  • Gogsログ:API呼び出し(PUT /repos/*/contents/* 等)の大量化/失敗増加、短時間に作成された新規リポジトリ、8文字ランダム名パターン。
  • ファイル監査:.git/configの突発改変、リポジトリ外の重要設定ファイルの更新イベント(inotify/auditd)。
  • プロセス関係:gitプロセスからbash/sh/sshが子プロセスとして起動される挙動。
  • ネットワーク:外向きSSH/高頻度の長時間セッション、既報IOC(例:119.45.176[.]196)への接続、未知ドメインへのWebhook送信。
  • GitHub監査:PAT使用の異常地/ASN、Actionsの新規ワークフロー作成・秘密情報参照、workflow_run/workflow_jobの不審実行。
  • EDR検知例:/usr/bin/gitがシェル/スクリプト実行を連鎖、/etc/・~/.ssh/配下の不審書き込み、crontab/サービス登録の新規生成。

📈 MITRE ATT&CK

  • TA0001 Initial Access – T1190 Exploit Public-Facing Application:Gogs公開APIの脆弱性悪用で初期侵入。
  • TA0002 Execution – T1059 Command and Scripting Interpreter(sh/bash):.git/configのsshCommand改変により任意コマンドが実行。
  • TA0003 Persistence/TA0004 Privilege Escalation(ケースにより):任意ファイル上書きでauthorized_keysやサービス定義改変が起こりうる。
  • TA0006 Credential Access/TA0001 Initial Access – T1078 Valid Accounts:漏えいPATを使った正規認証での侵入。
  • TA0011 Command and Control – T1071.004 Application Layer Protocol: SSH:Supershell系ペイロードがリバースSSHでC2確立。

🏢 組織規模別助言

  • 小規模(〜50名):Gogsを一時的に社内のみへ閉塞、管理者のみアクセス。日次で8文字ランダム名リポジトリの有無を点検し、バックアップを検証。
  • 中規模(50〜500名):WAF/リバプロでAPIのPUT/POSTを制限、SIEMでGogs/API/SSHログを相関。PATは細粒度・期限付きへ統制し、Actionsはレビュー必須に。
  • 大規模(500名以上):段階的遮断計画(ブルー/グリーン)でサービス影響を抑えつつ封じ込め。SELinux/AppArmorプロファイル適用、eBPFベースの挙動監視、攻撃シナリオの紫チーム演習を実施。

🔎 類似事例

  • CVE-2024-55947(Gogsの任意ファイル書き込みからのRCE、2024年12月対応)
  • 漏えいGitHub PAT悪用によるActionsワークフロー改ざん・シークレット窃取のキャンペーン(Wiz報告)
  • Gitホスティング製品におけるsymlink処理不備を突く任意パス書き込みの再発事例(一般論)

🧭 次の一手

  1. 直ちにGogsの外部露出を縮小(VPN配下/特定IPに限定)。オープン登録を停止。
  2. 全インスタンスをスキャン:8文字ランダム名リポジトリ、.git/configのsshCommand改変、authorized_keys・cron・サービスの不審変更。
  3. SIEM/EDRに検知ルールを投入:git→shell/ssh子プロセス、PutContents大量化、IOC(119.45.176[.]196)通信。
  4. PAT体制を見直し:細粒度・最小権限・短命化、OIDC等への移行計画を策定。
  5. 公式修正が出次第、検証の上で速やかに適用し、暫定ブロックを段階解除。