<Vulnerability name="CVE-2026-94205">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Important</ThreatSeverity>
    <PublicDate>2026-10-06T19:25:04</PublicDate>
    <Bugzilla id="2547085" url="https://bugzilla.redhat.com/show_bug.cgi?id=2547085" xml:lang="en:us">
code.gitea.io/gitea: Gitea Actions: Arbitrary code execution via improperly authorized fork workflows
    </Bugzilla>
    <CVSS3 status="draft">
        <CVSS3BaseScore>8.0</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-829</CWE>
    <Details xml:lang="en:us" source="Mitre">
Gitea Actions decided whether a fork pull request run needed approval based on the user who triggered the event rather than the pull request author. For `pull_request` activity triggered by a maintainer during ordinary triage, such as adding a label, the run was created without requiring approval, while the workflow definition was still taken from the fork head. Where Actions is enabled and a matching runner is registered, fork-controlled workflow code could run on the base repository's runners without an explicit approval.
    </Details>
    <Details xml:lang="en:us" source="Red Hat">
A flaw was found in Gitea Actions. When determining whether workflow runs from fork pull requests require approval, Gitea evaluated the identity of the user triggering the event rather than the author of the pull request. Consequently, routine repository maintainer actions, such as adding a label, can trigger the workflow without requiring approval, allowing an attacker to achieve arbitrary code execution on the repository's runners.
    </Details>
    <Statement xml:lang="en:us">
A flaw was found in Gitea Actions, where the approval check for workflow runs triggered by fork pull requests was based on the identity of the user who triggered the event rather than the author of the pull request. As a result, when a repository maintainer performed a routine action on a fork pull request, such as adding a label during triage, the workflow definition taken from the fork's head could run on the base repository's registered runners without the required approval. An attacker able to open a fork pull request could leverage this to achieve arbitrary code execution on those runners, compromising the confidentiality, integrity, and availability of the runner environment. Red Hat rates this issue as IMPORTANT (CVSS 8.0, CVSS:3.1/AV:N/AC:L/PR:L/UI:R) because exploitation requires an account able to open a pull request and a maintainer interacting with it; this is lower than the CISA score of 9.8, which does not account for those prerequisites. Within Red Hat, the Konflux pipelines-pipelines-as-code-controller-rhel9 and pipelines-pipelines-as-code-watcher-rhel9 container images include the affected Gitea component, and their affects are recorded with a delegated resolution, meaning the impact is assessed and a fix is being pursued through the owning component's update process.
    </Statement>
    <Mitigation xml:lang="en:us">
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability. The upstream Gitea project addressed this issue in Gitea 28.0.0 by checking both the event actor and the pull request author; the affected Konflux images are expected to receive the fix through the delegated update process.
    </Mitigation>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-94205
https://nvd.nist.gov/vuln/detail/CVE-2026-94205
https://blog.gitea.com/release-of-28.0.0/
https://github.com/go-gitea/gitea/pull/39399
https://github.com/go-gitea/gitea/releases/tag/v28.0.0
https://github.com/go-gitea/gitea/security/advisories/GHSA-xh39-mxw9-34pp
    </References>
</Vulnerability>