Incorrect authorization in Gitea Actions review-triggered workflows
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-863.
Summary
Gitea from 1.19.0 before 28.3.0 reads review-triggered workflows from an unchecked commit named in the review (CWE-863). A user with read access can place a commit through a fork pull request or AGit push and submit a review naming it, so the workflow runs without approval on instances with a runner serving the repository. It then receives the repository's and owner's Actions secrets and a write-access GITEA_TOKEN.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
Workflows triggered by a pull request review were read from the commit named in the review's `commit_id`, while the fork restrictions were decided by the reviewed pull request, and the commit was not checked to belong to that pull request. A user with read access to a repository could place a commit of their own in it, through a fork pull request or an AGit push, and submit a review naming that commit on a pull request whose head branch is in the same repository. On instances with a runner serving the repository, the attacker's workflow then ran without approval, received the Actions secrets of the repository and its owner, and got a `GITEA_TOKEN` with write access to the repository. Review-triggered workflows now run on the pull request head.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade Gitea to version 28.3.0, which runs review-triggered workflows on the pull request head.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA Gitea (Gitea) Fixed in 28.3.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
Gitea 28.3.0
20 records Highest priority Priority MEDIUM 3 MEDIUM, 17 LOW
Other records, highest priority first
- TI-2026-83610 Gitea OAuth2 auto-linking lets attackers take over accountsPriority MEDIUM 49
- TI-2026-83601 Gitea public-only token can expose private OCI blobs through package mountsPriority MEDIUM 47
- TI-2026-83594 Gitea public-only token bypass exposes private repository jobsPriority MEDIUM 47
Vendor assessments
Timeline
- 2026-11-01 Threatist record created from CVE-2026-118386
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
- 2026-11-06 CVSS score added · CISA ADP
- 2026-11-06 CISA SSVC decision points changed
References
More Gitea vulnerabilities
- TI-2026-42785 Gitea before 1.27.1 allows remote code execution via the diffpatch API through Git hook installation. KEVCVSS 3.1CRITICAL 9.8
- TI-2026-42033 Improper authorization on OAuth sign-in callback silently re-enables administrator-disabled accounts CVSS 3.1CRITICAL 9.8
- TI-2026-40842 Privilege Escalation via Access Token Scope Escalation in API CVSS 3.1CRITICAL 9.8
- TI-2026-16922 Gitea Docker image trusts spoofable reverse-proxy headers by default CVSS 3.1CRITICAL 9.8
- TI-2026-42043 Team-repository linking endpoint bypasses the RepoAdminChangeTeamAccess organization setting CVSS 3.1CRITICAL 9.1
- TI-2026-40381 OIDC userinfo Endpoint Returns Identity Claims Without Enforcing API Token Scopes CVSS 3.1CRITICAL 9.1
Sources
- CVE-2026-118386 · CVE Program
- CVE-2026-118386 · NVD
- FIRST EPSS
- CVE-2026-118386 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences