Description
Changing an organization team's permission through the API with only the `permission` field did not rebuild the team's per-unit access, and the requested level was not applied as a cap. After an organization owner demoted a team, for example from admin to read, the team's members kept their previous unit permissions, including write access to the team's repositories. The web form was not affected.
Published: 2026-10-06
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Privilege Escalation
Action: Apply Patch
AI Analysis

Impact

The vulnerability results from the Gitea API failing to rebuild a team's per-unit permissions when only the permission field is updated. When an organization owner demotes a team from a higher level such as admin to read, the team’s members keep their existing unit permissions, including write access to the team’s repositories. This flaw allows users who should no longer have elevated rights to continue modifying code in the repositories controlled by the team. The weakness is identified as CWE-272, a weak access control issue.

Affected Systems

The issue affects all Gitea installations running versions older than 28.0.0, as the 28.0.0 release contains the logic to rebuild permissions correctly. Systems updated to 28.0.0 or newer are not vulnerable, whereas those that remain on older releases are at risk.

Risk and Exploitability

The CVSS score of 8.1 indicates a high severity, but the EPSS score of less than 1% suggests that widespread exploitation is unlikely at present. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is an authenticated API call that modifies a team's permission level; an organization owner or administrator can perform this operation. The flaw requires no additional user interaction beyond this API request, so insiders or compromised administrative credentials can abuse the bug to maintain unauthorized write access.

Generated by OpenCVE AI on October 7, 2026 at 23:02 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Gitea to version 28.0.0 or later where the permission rebuild bug is fixed.
  • Enforce strict role-based access control on the API endpoint that updates team permissions, ensuring that only organization owners or administrators can change a team's role.
  • After updating, audit existing team membership and permission assignments and revoke any write privileges that should not persist after a demotion.

Generated by OpenCVE AI on October 7, 2026 at 23:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 07 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 07 Oct 2026 01:30:00 +0000

Type Values Removed Values Added
First Time appeared Gitea
Gitea gitea
Vendors & Products Gitea
Gitea gitea

Tue, 06 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Description Changing an organization team's permission through the API with only the `permission` field did not rebuild the team's per-unit access, and the requested level was not applied as a cap. After an organization owner demoted a team, for example from admin to read, the team's members kept their previous unit permissions, including write access to the team's repositories. The web form was not affected.
Title Gitea API team demotion not applied to unit permissions
Weaknesses CWE-272
References

cve-icon MITRE

Status: PUBLISHED

Assigner: Gitea

Published:

Updated: 2026-10-07T20:15:03.095Z

Reserved: 2026-10-04T21:59:53.566Z

Link: CVE-2026-103504

cve-icon Vulnrichment

Updated: 2026-10-07T20:14:57.265Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-06T20:17:14.487

Modified: 2026-10-07T21:17:07.427

Link: CVE-2026-103504

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T23:15:08Z

Weaknesses
  • CWE-272

    Least Privilege Violation