---
title: "Gitea 28.3.0 で 8 件の脆弱性を修正: OAuth2 自動リンクでの管理者アカウント乗っ取り、Actions 成果物経由の XSS など（CVE-2026-120263 ほか、CVSS は未付与）"
url: https://n-t-p.io/worldsecurity/articles/gitea-28-3-0-actions-token-oauth-linking-xss-8-cves-fixed-28-3-0
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月1日
updated: 2026年11月1日
severity: 中
cve: CVE-2026-112887, CVE-2026-113429, CVE-2026-116289, CVE-2026-116474, CVE-2026-117677, CVE-2026-118395, CVE-2026-118504, CVE-2026-120263
---

# Gitea 28.3.0 で 8 件の脆弱性を修正: OAuth2 自動リンクでの管理者アカウント乗っ取り、Actions 成果物経由の XSS など（CVE-2026-120263 ほか、CVSS は未付与）

> **TL;DR:** Gitea は 28.3.0（2026-11-01）で 8 件の脆弱性を修正した（CVE-2026-120263 ほか）。OAuth2 自動連携でのアカウント乗っ取り、Actions 成果物経由の XSS、Actions トークンによる非公開リポジトリ一覧の取得などを含む。NVD は Deferred で CVSS は未付与、EPSS は最大 0.00228、KEV なし。悪用は未確認。

**要点**
- Gitea 28.3.0 で 8 件（CVE-2026-112887・113429・116289・116474・117677・118395・118504・120263）を修正。NVD は Deferred、CVSS は未付与
- CVE-2026-120263: OAuth2 の ACCOUNT_LINKING が auto（既定ではない）のとき、他人のアカウント（管理者も）にパスワードなしで入れる
- CVE-2026-113429: 旧形式の Actions 成果物の Content-Encoding が無検証で、成果物を開いた人のセッション上でスクリプトが動く
- EPSS は 0.00138〜0.00228（FIRST、11/1 付）、KEV なし。悪用は未確認
- 28.3.0 への更新、ACCOUNT_LINKING の確認、Actions の実行権限の見直しは推定

Gitea は 2026-11-01 に 28.3.0 を公開し、同日、NVD に Gitea 関連の CVE が 8 件登録されました。CVE-2026-112887、113429、116289、116474、117677、118395、118504、120263 です。いずれも CNA は同じで、修正版は 28.3.0 と NVD の参照に記載があります。NVD の状態は Deferred（NVD 自身の評価は行わない扱い）で、CVSS はどこからも付いていません。重い順に見ると、設定次第で他人のアカウントに入れる CVE-2026-120263 と、成果物のダウンロード経由で管理者のセッション上でスクリプトが動く CVE-2026-113429 が目立ちます。

## 8 件の内容（CVE の記述より）

| CVE | CWE | 内容 | 前提 |
|---|---|---|---|
| CVE-2026-120263 | CWE-287 | OAuth2 のアカウント連携が `auto` のとき、連携先を OAuth2 提供元が示した ID ではなく、フォームに入力されたユーザー名・メールで探す。他人のアカウントに外部 ID をひも付けて、パスワードなしでログインできる（管理者も対象）。連携は以後も残る | `[oauth2_client].ACCOUNT_LINKING = auto`（既定ではない）と、ユーザー登録の有効化。OAuth2 提供元にアカウントを持つ者 |
| CVE-2026-113429 | CWE-79 | 旧形式（v1〜v3）の Actions 成果物アップロードで `Content-Encoding` ヘッダーが無検証で保存され、ダウンロード時の Content-Type に使われる。`video/` や `audio/` で始まる値は、サンドボックス用の CSP も外す。細工した成果物を開くと、Gitea のオリジン上で HTML として描画され、開いた人のセッションでスクリプトが動く。管理者なら、インスタンスの制御につながる | Actions のジョブを実行できる者。公開リポジトリでは URL に匿名で到達でき、被害者が開く操作が要る |
| CVE-2026-112887 | CWE-200 | Actions のタスクトークンが、負の ID を持つ共通のシステムユーザーとして REST API に認証される。`GET /api/v1/user/repos` で、他のユーザー・組織の非公開リポジトリを含む全リポジトリの一覧とメタデータを取得できる。リポジトリの中身は、リポジトリごとの権限確認で保護されたまま | ワークフローを実行できる者 |
| CVE-2026-116474 | CWE-347 | `GITEA_TOKEN` が `gitea-actions` システムユーザーとして `/api/v1/user` のメール・GPG 鍵エンドポイントを使え、ジョブ内で任意のメールと鍵を登録できる。メール確認が必須でない既定では、登録したアドレスは有効扱い。持ち主のない鍵はインスタンスの署名鍵として扱われるため、自分の鍵で署名したコミットが「インスタンスが署名した信頼済み」と表示されうる | ワークフローのジョブを実行できる者。影響は署名状態の表示のみで、署名必須などの強制には影響せず、アクセス権も増えないと記述されている |
| CVE-2026-116289 | CWE-863 | 公開リソース限定（`public-only`）の個人アクセストークンが、組織の Actions ランナー登録トークンのエンドポイントで拒否されなかった。登録したランナーは非公開リポジトリのジョブを受け取り、ワークフローの内容・Actions のシークレットと変数・タスクトークンを得られる | 公開組織のオーナーに属し `write:organization` を持つ限定トークンの保持者。オーナー本人のフルアカウントでできること以上は得られないと記述されている |
| CVE-2026-118395 | （記載なし） | 1.27.3 で `public-only` トークンによるリポジトリ作成を止めたが、組織配下のリポジトリ作成、組織の作成、テンプレートからの生成の各 API は同トークンを受け付けた。非公開リポジトリや非公開組織を作れる。作成したものの読み取りはできない | 必要な書き込みスコープを持つ `public-only` トークンの保持者 |
| CVE-2026-117677 | CWE-400 | Helm チャートのアップロード解析で、展開後のサイズを制限せず、しかもパッケージの容量クォータの確認より前に展開する。小さく高圧縮のアーカイブを繰り返し送ると、サーバーの CPU 時間を消費し、可用性が下がる | パッケージの書き込み権限。ユーザー登録が開いていれば自分のアカウントで足りる。コード実行・データへのアクセスはないと記述されている |
| CVE-2026-118504 | （記載なし） | アーカイブ済みリポジトリで、Web 画面では止まる課題・PR の変更が、REST API の一部の経路では確認されていなかった。課題の編集・削除・ラベル・期限・作業時間・リアクション・ピン留めを変更できる | 課題を変更する権限。28.2.0 で一部に確認を追加し、28.3.0 ですべての変更系リクエストに適用 |

## 修正の状況

- 28.3.0 は GitHub のリリースで 2026-11-01（UTC）に公開されています。8 件とも修正版は 28.3.0 と NVD の参照にあります。
- 回避策は勧告に個別の記載がなく、確認できていません。
- 悪用は確認していません。

## 数値と出典（2026-11-02 時点）

| 項目 | 内容 |
|---|---|
| CVE | CVE-2026-112887、113429、116289、116474、117677、118395、118504、120263 |
| NVD 公開日 | 2026-11-01（8 件とも） |
| 修正版 | 28.3.0 |
| NVD の状態 | Deferred（NVD の評価なし） |
| CVSS | NVD に付与なし（NVD と CNA のどちらの値も未確認） |
| EPSS（FIRST、2026-11-01 付） | 0.00138〜0.00228（パーセンタイル 0.03〜0.14）。最大は CVE-2026-113429 の 0.00228、CVE-2026-120263 は 0.00198 |
| KEV | 掲載なし（CISA のカタログで 8 件とも確認できず） |

## severity を medium とした理由

CVSS が付いていないため、記述から判断しました。最も重い CVE-2026-120263 は既定ではない設定が前提で、CVE-2026-113429 は被害者が成果物の URL を開く必要があります。残りは、ワークフローを実行できる者・特定のトークンの保持者・書き込み権限など、すでに一定の権限を持つ者が前提です。EPSS は最大でも約 0.2%、KEV にも載っていません。一方で、管理者アカウントの乗っ取りにつながる 2 件があり、複数のユーザーが Actions を使う Gitea では重く見るべきです。以上から medium としました。

## 対応として考えられること

1. 自分の Gitea が 28.3.0 より前かを確認し、28.3.0 以降へ更新します。
2. 更新できない間は、`[oauth2_client].ACCOUNT_LINKING` が `auto` になっていないかを確認し、なっていれば別の値に変えることを検討します（推定）。
3. Actions を使うインスタンスでは、信頼できない利用者にワークフローの実行を許す範囲を見直します（推定）。
4. 見覚えのない Actions 成果物の直接ダウンロード URL は、管理者が開かないようにします（推定）。
5. ユーザー登録が開いている場合は、Helm などのパッケージレジストリの書き込み権限を必要な範囲に絞ります（推定）。

## 未確認の点

- 実際の攻撃での悪用は確認していません。
- 8 件の CVSS 値は確認できていません（NVD に付与なし）。
- 回避策の有無は確認していません。
- 28.3.0 より前のどの版から影響を受けるかは、CVE ごとに確認していません（一部は 28.2.0 で部分的に修正済み）。


## 出典
- [NVD CVE-2026-112887](https://nvd.nist.gov/vuln/detail/CVE-2026-112887) — NIST NVD
- [NVD CVE-2026-113429](https://nvd.nist.gov/vuln/detail/CVE-2026-113429) — NIST NVD
- [NVD CVE-2026-116289](https://nvd.nist.gov/vuln/detail/CVE-2026-116289) — NIST NVD
- [NVD CVE-2026-116474](https://nvd.nist.gov/vuln/detail/CVE-2026-116474) — NIST NVD
- [NVD CVE-2026-117677](https://nvd.nist.gov/vuln/detail/CVE-2026-117677) — NIST NVD
- [NVD CVE-2026-118395](https://nvd.nist.gov/vuln/detail/CVE-2026-118395) — NIST NVD
- [NVD CVE-2026-118504](https://nvd.nist.gov/vuln/detail/CVE-2026-118504) — NIST NVD
- [NVD CVE-2026-120263](https://nvd.nist.gov/vuln/detail/CVE-2026-120263) — NIST NVD
- [Gitea 28.3.0 リリース告知](https://blog.gitea.com/release-of-28.3.0/) — Gitea
- [Gitea v28.3.0 リリース（GitHub）](https://github.com/go-gitea/gitea/releases/tag/v28.3.0) — Gitea（GitHub）
- [FIRST EPSS（8 件）](https://api.first.org/data/v1/epss?cve=CVE-2026-112887,CVE-2026-113429,CVE-2026-116289,CVE-2026-116474,CVE-2026-117677,CVE-2026-118395,CVE-2026-118504,CVE-2026-120263) — FIRST
- [CISA KEV カタログ](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/gitea-28-3-0-actions-token-oauth-linking-xss-8-cves-fixed-28-3-0