# CVE-2026-118386: Gitea Actions workflow privilege escalation via pull request review

Source: https://junglewise.ai/threats/cve-2026-118386-workflows-triggered-by-a-pull-request-review-were-read-from-the  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-01. Updated: 2026-11-01  
License: CC BY 4.0 with a link back

CVE-2026-118386 · Severity: info · Published 2026-11-01

Gitea's Actions CI/CD system ran workflows triggered by pull request reviews on attacker-controlled commits instead of the reviewed code, bypassing approval checks. An attacker with repository read access could inject their own commit and trigger a workflow that executes with full repository secrets and write-access tokens, enabling credential theft and repository compromise.

Technologies: [Gitea](https://junglewise.ai/threats/technologies/gitea). Vendors: [Gitea](https://junglewise.ai/threats/vendors/gitea).

## Quick answers

**Is CVE-2026-118386 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-118386 being exploited in the wild.

**How severe is CVE-2026-118386?** Informational severity, published 1 November 2026.

**Which products and versions are affected?** Gitea prior to 28.3.0.

**Is there a fix for CVE-2026-118386?** Yes: fixed in Gitea 28.3.0. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-118386 attacked?** It is attacked over the network, in a hosted service.

**Am I affected by CVE-2026-118386?** Check whether you run Gitea at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in Gitea 28.3.0

## Technical details

Review-triggered workflows were executed from the commit specified in the review's `commit_id` field rather than the pull request head, while fork restrictions were evaluated against the pull request itself. An attacker could submit a review naming their own commit on a PR whose head branch is in the same repository, causing workflows to run without approval on untrusted code with access to Actions secrets and a GITEA_TOKEN with repository write permissions. The fix aligns review-triggered workflows with other PR events by executing them on the PR head instead.

## Affected products

- Gitea Gitea prior to 28.3.0

## Timeline

- 2026-11-01: disclosed
- 2026-11-01: patched: Fixed in Gitea 28.3.0

## References

- [https://blog.gitea.com/release-of-28.3.0/](https://blog.gitea.com/release-of-28.3.0/)
- [https://github.com/go-gitea/gitea/pull/40099](https://github.com/go-gitea/gitea/pull/40099)

## Related threats

- [Gitea account takeover via OAuth2 auto-linking](https://junglewise.ai/threats/cve-2026-120263-when-oauth2-client-account-linking-is-set-to-auto-not-the)
- [Gitea limited-visibility profile disclosure via public-only token](https://junglewise.ai/threats/cve-2026-119627-the-web-profile-and-rss-atom-feed-routes-of-users-and)
- [Gitea token scope bypass in web routes](https://junglewise.ai/threats/cve-2026-119625-the-username-web-route-accepted-personal-access-tokens-over-http)
- [Gitea project boards information disclosure of private pull requests](https://junglewise.ai/threats/cve-2026-119533-repository-and-organization-project-boards-listed-the-pull)
- [Gitea API token scope bypass in repository deletion](https://junglewise.ai/threats/cve-2026-119441-delete-api-v1-orgs-org-repos-deletes-all-repositories-of-an)
