---
id: "CVE-2026-116289"
kind: "vulnerability"
aliases: ["CVE-2026-116289"]
title: "Gitea: public-only tokens can register runners that receive private organization jobs"
severity: "high"
cvss: null
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["actions", "ci", "gitea", "runtime", "self-hosted"]
not_affected_if: ["actions-disabled", "hosted-service", "no-organization-runners"]
published_at: "2026-11-01T10:18:34+00:00"
first_seen_at: "2026-11-01T10:49:33+00:00"
updated_at: "2026-11-01T10:52:22+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116289", "first_seen_at": "2026-11-01T10:49:33+00:00"}, {"source": "analyst", "url": null, "first_seen_at": "2026-11-01T10:52:22+00:00"}]
---

# Gitea: public-only tokens can register runners that receive private organization jobs

Gitea accepted personal access tokens restricted to public resources when registering organization-level Actions runners. A runner registered with such a token can receive jobs from the organization's private repositories, exposing workflow content, Actions secrets and variables, and a task token for the private repository.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `gitea --version`. Affected and fixed versions are not yet published by Gitea (unknown); watch https://github.com/go-gitea/gitea/security/advisories and the release changelog, and move to the newest 1.27.x patch release.
- Only matters if Actions is enabled and an organization has private repositories with Actions.
- Review personal access tokens that have the `public-only` scope with `write:organization`; revoke ones you do not need.
- Review organization-level Actions runners (org Settings > Actions > Runners) and remove any you do not recognize.

## Timeline

- 2026-11-01T10:49:33+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116289
- 2026-11-01T10:52:22+00:00 analyst — No Gitea GHSA or release note for this CVE found (searched advisories, 1.27.3 blog, changelog, 1.27.4 tracking issue). Affected and fixed versions unknown; only NVD text. Third-party HOL page lists fixed 28.3.0, which is not a Gitea version scheme, so I ignored it. Related public-only fixes shipped in 1.27.0 and 1.27.3, but none is confirmed as this CVE. Settle it by reading the Gitea GHSA or the 1.27.x changelog once published.

## Documents

- [describes] NVD CVE-2026-116289 https://nvd.nist.gov/vuln/detail/CVE-2026-116289

## From the sources

Gitea did not reject personal access tokens restricted to public resources (`public-only`) on the organization Actions runner registration-token endpoint, and the runner registered with the resulting token was not limited to public repositories. Holding only such a token with `write:organization` that belongs to an owner of a public organization, an attacker could register an organization-level runner and receive jobs of the organization's private repositories that have Actions enabled, including the workflow content, Actions secrets and variables, and a task token with access to the private repository. The issue widens what the restricted token can reach; it gives nothing beyond what the owner's full account can already do.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
