Description
Gitea validated a push mirror's remote address against the `[migrations]` allow and block lists only when the mirror was created. Each synchronization passed the stored address directly to `git push`, so a name that later resolved to a blocked or internal address was still reached. A user with administrator access to a repository, which includes repositories they create themselves, could aim push mirror synchronization at internal Git services and force-push the repository's contents to them.
Published: 2026-10-06
Score: 8.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises because Gitea validates a push mirror's remote address only when the mirror is created. During each synchronization, the stored address is passed directly to "git push", so a name that later resolves to a blocked or internal address is still reached. An administrator who can configure mirrors can target internal Git services and force‑push their repository contents to them. This effectively allows the attacker to write arbitrary data and can lead to remote code execution on the internal service. The flaw demonstrates input validation and SSRF weaknesses, corresponding to CWE‑367 and CWE‑918.

Affected Systems

All Gitea releases prior to 28.0.0 are affected. The issue was fixed in the 28.0.0 release, as indicated by the referenced blog post and release notes. Administrators using earlier Gitea versions should verify their mirror configurations accordingly.

Risk and Exploitability

The EPSS score of 0.00118 indicates a very low but nonzero probability of exploitation and the vulnerability is not listed in the CISA KEV catalog, suggesting no publicly known exploitation yet. However, the flaw requires only a user with administrative rights on a repository, a role typically granted to trusted developers. Once that permission is held, the attack path is straightforward: create or modify a mirror to point at an internal Git server, and trigger a synchronization. The ability to force‑push to internal hosts presents a high potential for data tampering and the execution of malicious code. The CVSS score of 8.1 indicates a high level of risk.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Gitea to version 28.0.0 or later to apply the patch that properly validates push mirror URLs during synchronization.
  • Restrict or remove administrative repository permissions from users who do not need to configure mirrors, limiting the ability to create or modify push mirrors.
  • Audit existing push mirror configurations to ensure that no internal Git hosts are targeted, and remove any that are unintended.
  • Review the configuration of "allow" and "block" lists in the [migrations] section and enforce that only externally reachable addresses are permitted as mirror targets during sync operations.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 13 Oct 2026 17:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:*

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:00: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 Gitea validated a push mirror's remote address against the `[migrations]` allow and block lists only when the mirror was created. Each synchronization passed the stored address directly to `git push`, so a name that later resolved to a blocked or internal address was still reached. A user with administrator access to a repository, which includes repositories they create themselves, could aim push mirror synchronization at internal Git services and force-push the repository's contents to them.
Title Gitea push mirror SSRF and forced writes to internal Git hosts
Weaknesses CWE-367
CWE-918
References

cve-icon MITRE

Status: PUBLISHED

Assigner: Gitea

Published:

Updated: 2026-10-07T20:16:04.169Z

Reserved: 2026-10-04T21:57:35.573Z

Link: CVE-2026-89430

cve-icon Vulnrichment

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

cve-icon NVD

Status : Analyzed

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

Modified: 2026-10-13T16:46:04.457

Link: CVE-2026-89430

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-07T23:45:14Z

Weaknesses
  • CWE-367

    Time-of-check Time-of-use (TOCTOU) Race Condition

  • CWE-918

    Server-Side Request Forgery (SSRF)