Giteaに存在する重大な認可不備の脆弱性CVE-2026-58443により、パブリックリポジトリに限定されたAPIトークンであっても、間接的にプライベートリポジトリへの書き込みやそのActionsワークフローの実行が可能になることが判明しました。
この脆弱性は、ohxorud-dev氏の報告をもとにGHSA-xxjv-752h-3vp2として公開されたもので、CVSS v3.1のスコアはCritical(重大)レベルに分類されています。
問題の根本原因は、プルリクエスト更新用のエンドポイントPOST /api/v1/repos/{owner}/{repo}/pulls/{index}/updateにあります。
Giteaのパブリック限定トークン制限は、ルートとなるリポジトリ、つまりパブリックなベースリポジトリに対してのみチェックされ、リクエストが実際に影響を及ぼすすべてのリポジトリに対しては検証されません。
UpdatePullRequest()がリクエストを処理する際、IsUserAllowedToUpdate()を通じてプルリクエストのヘッドリポジトリを標準的なユーザーRBACで認可しますが、そのヘッドリポジトリに対してトークンのパブリック限定制限を再チェックすることはありません。
ヘッドリポジトリがプライベートの場合、そのリポジトリへ直接書き込む権限を持たないトークンであっても、パブリックなベースリポジトリのコミットをプライベートなヘッドブランチへマージまたはリベースさせることが可能です。これは、プッシュ処理が制限されたトークン自体の権限下ではなく、認証済みユーザーに代わってサーバー側で実行されるためです。
プライベートリポジトリでActionsが有効になっている場合、この影響はさらに深刻化します。この更新処理は実質的なプッシュイベントを発生させるため、通常のコントリビューターによるプッシュと同様に、リポジトリのプッシュトリガー型ワークフローがキューに登録されてしまいます。つまり、トークンのスコープ制限を回避する手口が、パブリックスコープの認証情報のみを使ってプライベートなCI/CDパイプラインを実行する手段に変わってしまうのです。
これはCWE-863(不適切な認可)に分類される深刻な完全性侵害ですが、攻撃者がこの経路からプライベートデータを直接読み取ることはできないため、機密性への直接的な影響はありません。
公開されたPoC(概念実証)は、一連の攻撃の流れを最初から最後まで実演しています。パブリック限定のwrite:repositoryトークンは、まずパブリックなベースリポジトリにファイルを作成し、次にプライベートなヘッドリポジトリへの直接書き込みを試みますが、これはHTTP 404で正しく拒否されます。
その後、同じトークンを使ってプライベートなヘッドブランチからパブリックなベースリポジトリへのプルリクエストを作成し、そのトークンで更新エンドポイントを呼び出すと、パブリックなコミットがプライベートブランチへ正常にマージされてしまいます。
続いてGitea Actionsがプライベートリポジトリに対応するActionRunおよびActionRunJobを起動し、注入されたプッシュが実際にプライベートワークフローの実行を引き起こしたことが確認されました。
Bircni氏によると、攻撃者はプライベートなヘッドブランチへの正当な書き込み権限を既に持つユーザーに属する、有効なパブリック限定トークンを必要とし、さらにパブリックなベースリポジトリとプライベートなヘッドリポジトリを結びつける、マージまたはリベース可能な既存のプルリクエスト関係も必要とします。
このため、この攻撃は不特定多数の未認証攻撃者ではなく、トークン管理の不備やパブリックスコープの認証情報が漏洩したケースに限定されます。
v1.26.4以前のバージョンのGiteaが影響を受け、この問題はv1.27.0で修正済みです。
セルフホスト型のGiteaインスタンスを運用している組織は、直ちにアップグレードを実施するとともに、既存のパブリック限定トークンについて予期しないプルリクエスト更新の動きがないか監査し、プライベートリポジトリのActionsワークフローログを確認して不正なプッシュトリガー型の実行がないか点検することが求められます。
今回の開示は、2026年半ばを通じて相次いだGiteaのセキュリティ勧告の流れを受けたものです。この中にはリバースプロキシの認証バイパスに関する重大な脆弱性や、Webhook処理におけるSSRFの脆弱性も含まれており、サーバー側の処理が影響を及ぼす下流のリソースをルートレベルのチェックが見落とすという、スコープ境界の不備が繰り返されるより広範なパターンを浮き彫りにしています。
より強固なプロアクティブ防御で、重大インシデントと金銭的損失を未然に防ぎましょう。15,000のSOCが利用するライブ脅威フィードを統合する
翻訳元: https://cyberpress.org/critical-gitea-vulnerability/