概要
セキュリティ研究者により発見された、Gogs(オープンソースの自ホスト型Gitサービス)の深刻なセキュリティ脆弱性が報告されました。この脆弱性はCVE-2026-25921としてトラッキングされており、認証なしの攻撃者がGit Large File Storage (LFS) オブジェクトを静かに上書きできる可能性があります。
脆弱性の詳細
CVE-2026-25921は、Gogsの設計上の欠陥により引き起こされます。特に、リポジトリ間の隔離が不十分で、LFSオブジェクトが単一のグローバルディレクトリツリーに保存されるため、攻撃者は他のリポジトリのLFSオブジェクトを上書きできます。
さらに、Gogsはアップロードされたファイルの内容とそのSHA-256ハッシュが一致することを検証しません。これにより、攻撃者は悪意のあるファイルをアップロードし、正当なファイルを置き換えることができます。
影響範囲
- ソフトウェア: gogs.io/gogs (Goエコシステム)
- 影響範囲: 0.14.1およびそれ以前のバージョン
- 修正版: 0.14.2
- 脆弱性: CWE-345 (データの認証性の不足)
攻撃の手順
攻撃者は、ターゲットのLFSオブジェクトのOIDを特定し、そのOIDを使用して自身のリポジトリにファイルをアップロードします。攻撃者は意図的に被害者のOIDを使用し、悪意のあるファイルをアップロードします。Gogsはこれを無視し、グローバルなストレージパスにある正当なLFSオブジェクトを上書きします。
対策と修正
Gogsのメンテナにより公式修正がリリースされました。組織は以下の防御策を実装する必要があります:
- 公式パッチを適用:管理者はすぐにGogsインスタンスをバージョン0.14.2またはそれ以降に更新し、アップロードされたLFSオブジェクトがそのSHA-256ハッシュと厳密に一致することを確認するための強制的な検証を導入します。
- LFSの整合性を確認:アップグレード後、セキュリティチームは既存のLFSオブジェクトの整合性を手動で確認し、パッチが適用される前に悪意のあるファイルが上書きされていないことを確認します。
- アクセスを監視:パッチをすぐに適用できない場合、組織はGogsインスタンスへのネットワークアクセスを制限するか、外部ユーザー登録を一時的に無効にして、悪意のあるアップロードをホストするリポジトリを作成する未承認のアクターを防ぎます。
結論
この脆弱性は、ソフトウェア供給チェーンの侵害を可能にする非常に危険なベクトルを提供します。組織は速やかに対策を講じ、被害を最小限に抑えるべきです。
元記事: https://gbhackers.com/gogs-flaw-attackers-overwrite-large-file-storage-data/
