Giteaに重大な脆弱性、認証なしでサーバーファイル読み取りとコード実行が可能に

Giteaにおいて重大な脆弱性が確認され、認証を受けていないリモート攻撃者が脆弱なサーバー上の任意のファイルを読み取り、さらにはリモートコード実行(RCE)にまでエスカレートできる可能性があることが判明しました。

この脆弱性はCVE-2026-59774およびGHSA-6v53-hr58-556rとして追跡されており、Gitea 1.22.11.22.11.22.1から1.27.01.27.01.27.0までのバージョンが影響を受けます。

Hacking& Cracking

CVSSスコアは3.1と評価されており、攻撃元区分はネットワーク、攻撃条件の複雑さは低、必要な権限やユーザー操作は不要とされています。

Giteaはこの脆弱性に対処済みで、バージョン1.27.11.27.11.27.1で修正されています。該当バージョンを使用している組織は、特にGiteaインスタンスで一般公開のリポジトリを運用している場合、直ちにアップデートすべきです。

Giteaの重大な脆弱性

この脆弱性は、Giteaのリポジトリマークアップレンダリングエンドポイントに存在します。

POST /{owner}/{repo}/markup

このエンドポイントはリポジトリの割り当てと読み取り権限のチェックを実施していますが、コードユニットが有効になっている公開リポジトリを狙う場合、認証を受けていないユーザーでもこれらの条件を満たしてしまいます。

攻撃者は、ファイルのコミットやリポジトリへの書き込み権限の取得、Giteaインスタンスへの認証を一切行うことなく、マークアップを直接このエンドポイントに送信できます。

レンダリングモードを「file」に設定し、拡張子が.orgで終わるファイル名を指定することで、Org-modeレンダラーを呼び出すことが可能です。

アドバイザリによると、Giteaバージョン1.27.01.27.01.27.0は`org.New()`を使用してgo-orgライブラリを初期化しますが、デフォルトの`ReadFile`コールバックを置き換えていません。

go-orgバージョン1.9.11.9.11.9.1では、このコールバックは`ioutil.ReadFile`に解決されます。Org-modeレンダラーは`#+INCLUDE`ディレクティブをサポートしており、これは絶対パスを受け付けることができます。

アプリケーション側でインクルード対象のパスを特定のディレクトリに制限していないため、攻撃者はGiteaサービスアカウントがアクセスできるファイルを要求できてしまいます。

この挙動は、いわゆるパストラバーサルとして知られるCWE-22(制限ディレクトリへのパス名の不適切な制限)に分類されます。

直接的な影響として、任意のファイルが漏えいする恐れがあります。攻撃者はGiteaの設定ファイルである`app.ini`、内部ベアラートークン、OAuthやJWT関連のシークレット、デプロイメントのメタデータなど、Giteaを実行しているOSユーザーが読み取り可能なファイルを取得できる可能性があります。

アドバイザリでは、Giteaの`INTERNAL_TOKEN`が漏えいすると、さらに深刻な攻撃連鎖を招きかねないと警告しています。攻撃者はこのトークンを使って内部機能とやり取りし、内部ロガー経由で悪意のあるGitフックを注入し、匿名ユーザーがリポジトリをクローンした際にコマンドを実行させることが可能になります。

この脆弱性の悪用には、マークアップルートへのアクセスを許可する設定になっている、一般公開で読み取り可能なリポジトリが少なくとも1つ存在することが条件となります。コードユニットが有効な標準的な公開リポジトリであればこの条件を満たすため、インターネットに公開されているGiteaの導入環境は優先的な確認対象となります。

管理者は、Giteaバージョン1.27.11.27.11.27.1、またはそれ以降の修正済みリリースにアップグレードすべきです。アップデートを適用するまでの間、組織は運用上可能な範囲で公開リポジトリへのアクセスを制限し、リポジトリのマークアップエンドポイントに対する不審なリクエストがないか、Giteaのログを監視することが推奨されます。

セキュリティチームは、漏えいが疑われる場合には`INTERNAL_TOKEN`の値やGitea設定ファイルに保存されているその他の認証情報についてもローテーションを行うべきです。さらに、Gitフック、グローバルなGit設定、直近のリポジトリの活動履歴を確認し、想定外の変更がないか点検することも重要です。

Securityaudit services

この脆弱性は、xbow-securityによって発見され、Xbow社のGuido Leo氏によりトリアージされたほか、NightRang3rという名で知られる研究者によって独自に報告されました。

警告:20以上の政府系サイトが企業や市民にマルウェアを配布していました。攻撃調査の全容はこちらで確認し、自組織の露出状況をチェックしてください

翻訳元: https://gbhackers.com/critical-gitea-flaw/

ソース: gbhackers.com