Skip to main content

Gitea EUVDEUVD-2026-93924

| CVE-2026-96580 HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-10-06 88ee5874-cf24-4952-aea0-31affedb7ff2
7.5
CVSS 3.1 · Vendor: 88ee5874-cf24-4952-aea0-31affedb7ff2
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register/authenticate Gitea account
  2. Delivery
    Fork target repository with Actions enabled
  3. Exploit
    Open pull request with crafted large static matrix workflow
  4. Execution
    Matrix expands to full Cartesian product pre-approval
  5. Impact
    Memory exhausted, Gitea process terminated

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires (1) Gitea Actions enabled on the target repository and (2) an account permitted to open a pull request from a fork against that repository; the attacker submits a workflow file containing a static strategy.matrix that expands to a very large number of job combinations. The critical enabling flaw is ordering: the Cartesian-product expansion occurred when creating the run, BEFORE the fork pull-request approval gate, so a maintainer never needs to approve the malicious run. No self-hosted runner is required. Limiting factors: exploitation needs the ability to open fork PRs (an authenticated user on most instances; effectively low-friction on instances with open registration), Actions must be enabled, and only instances running Gitea ≤1.27.3 are affected - version 28.0.0 rejects static matrices above 256 combinations before expansion.

Impact

This is a moderate, not top-tier, priority. The official CVSS 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) rates it high purely on availability impact, but multiple signals temper the urgency. EPSS is 0.16% (4th percentile), SSVC lists Exploitation as 'none' and Technical Impact as only 'partial', and it is NOT on CISA KEV - so there is no public exploit identified at time of analysis and no evidence of active exploitation. The one aggravating signal is SSVC Automatable=yes, meaning the trigger (submitting a crafted workflow file) is trivially scriptable once an attacker has PR access. There is a notable tension in the data: the CVSS vector claims PR:N (unauthenticated), yet the description explicitly requires 'a user who can open a pull request from a fork,' which on most Gitea deployments requires an authenticated account - so the true privilege requirement is closer to PR:L and the real-world score is likely ~6.5, not 7.5. Net: a credible self-inflicted/insider or open-registration-instance DoS risk worth patching promptly, but not an emergency given low EPSS, no KEV, and partial (availability-only) impact.

Exploit ScenarioDerived

On a Gitea instance with Actions enabled and open or low-friction registration, an attacker creates an account, forks a target repository, and opens a pull request containing a tiny workflow file whose static strategy.matrix is defined to expand to an enormous Cartesian product (e.g., several dimensions multiplying into millions of jobs). Because matrix expansion happens when the run is created - before the fork-PR approval gate - Gitea attempts to materialize all job combinations, exhausting server memory and potentially killing the process. No self-hosted runner is required, and no public exploit code has been identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 07, 2026

Denial of service in Gitea affects instances running 1.27.3 and earlier that have Actions enabled: a user who can open a pull request from a fork can submit a small workflow file whose static strategy.matrix expands to an enormous number of job combinations, exhausting server memory and potentially killing the Gitea process. Because the Cartesian-product expansion occurs at run-creation time, before the fork pull-request approval gate is enforced, no maintainer approval and no self-hosted runner are required to trigger the resource consumption. Gitea 28.0.0 rejects static matrices exceeding 256 combinations before expansion; EPSS is 0.16% (4th percentile), there is no CISA KEV entry, and no public exploit code has been identified at time of analysis. This is a moderate, not top-tier, priority.

RemediationAI

Vendor-released patch: upgrade to Gitea 28.0.0, where static matrices above 256 combinations are rejected before expansion (PR #39295; advisory https://github.com/go-gitea/gitea/security/advisories/GHSA-p3rv-cr5f-9gjh; release notes https://github.com/go-gitea/gitea/releases/tag/v28.0.0). No backport for 1.27.x is identified in the supplied data, so instances that cannot move to 28.0.0 need compensating controls: restrict who can open fork pull requests (disable open registration, require organization membership, or disable forking on sensitive repositories) - effective but it curtails normal contribution workflows; disable Gitea Actions on repositories that accept untrusted fork PRs - removes the attack surface entirely but also removes CI functionality; and bound the blast radius of a memory blowup by setting a systemd MemoryMax or container memory limit so the OOM killer terminates only the Gitea service - the trade-off is that an exploited instance will be killed and restart, producing service outages rather than a full host compromise. For most deployments the upgrade to 28.0.0 is the least disruptive and most complete fix.

Affected VersionsENISA

Gitea 0 ≤1.27.3

Affected Packages

euvd gitea no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is a CWE-400 uncontrolled resource consumption flaw in Gitea's Actions workflow scheduling logic. When a workflow is parsed, a static strategy.matrix declaration is expanded into its full Cartesian product to generate the job set for a new run. Gitea ≤1.27.3 performed that expansion without any combination-count ceiling, so a compact YAML file with a handful of matrix keys and values can produce a combinatorial explosion of job entries that are materialized in server memory. The ordering failure is the core issue: expansion happens during run creation, which precedes the fork pull-request approval gate, so the resource-intensive work is done before any maintainer reviews or approves the run, and because the blowup occurs in the Gitea server process rather than on a runner, no runner registration is needed to weaponize it. The fix in 28.0.0 (PR #39295, GHSA-p3rv-cr5f-9gjh) adds a hard limit that rejects static matrices above 256 combinations prior to expansion. Note a scoring discrepancy in the source data: the supplied CVSS vector uses PR:N (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5), whereas the independent assessment rates it PR:L, reflecting that the attacker must hold an account able to open a fork pull request against a repository with Actions enabled; the practical exposure is therefore lower than the nominal 7.5 on instances where fork PR creation is restricted.

Know when Gitea gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (88ee5874-cf24-4952-aea0-31affedb7ff2) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 6.5 MEDIUM

Triggering requires an account able to open a fork pull request, so PR:L (not PR:N); network vector, low complexity, no interaction, and availability-only impact from process termination.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (88ee5874-cf24-4952-aea0-31affedb7ff2).

CVSS VectorVendor: 88ee5874-cf24-4952-aea0-31affedb7ff2

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
CVSS changed
Oct 07, 2026 - 21:23 NVD
7.5 (None) 7.5 (HIGH)
CVE Published
Oct 06, 2026 - 20:17 cve.org
UNKNOWN (no severity yet)
CVE Published
Oct 06, 2026 - 20:17 cve.org
HIGH 7.5

DescriptionCVE.org

Gitea expanded a workflow's static strategy.matrix into its full Cartesian product without a size limit when creating a run, before the fork pull request approval gate applied. A user who can open a pull request from a fork could submit a small workflow file whose matrix expands to a very large number of jobs, consuming server memory and potentially terminating the Gitea process. No runner is required. Static matrices above 256 combinations are now rejected before expansion.

Technical POC Analysis

CWE-400 (Uncontrolled Resource Consumption).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Gitea instances running version 1.27.3 or earlier with Actions enabled are exposed to a high-severity denial-of-service condition that can crash the service and disrupt CI/CD operations. The issue is not known to be actively exploited, but a user able to open a pull request from a fork can trigger excessive resource consumption without maintainer approval. Engineering teams relying on Gitea Actions should prioritize inventory and mitigation because availability loss could halt development workflows.

Business Impact: Medium
Compensating Controls

Disable Gitea Actions on affected instances if not business-critical; restrict fork pull requests and workflow execution to trusted users; enforce memory/process limits and monitoring; upgrade to Gitea 28.0.0 or later once validated as vendor-fixed.

Threat Intelligence Overview

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Medium
popular self-hosted Git service, common but not enterprise-ubiquitous
Data Quality
7 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Gitea

View all
CVE-2026-60004 CRITICAL POC
9.8

Remote code execution in Gitea (self-hosted Git service) via a code-injection flaw (CWE-94) allows attackers to run arbi

CVE-2026-27771 HIGH POC
8.2 Jul 03

Broken access control in Gitea's Composer package registry (versions up to and including 1.26.1) lets remote attackers r

CVE-2022-30781 HIGH POC
7.5 May 16

Gitea before 1.16.7 does not escape git fetch remote. Rated high severity (CVSS 7.5), this vulnerability is remotely exp

CVE-2020-14144 HIGH POC
7.2 Oct 16

The git hook feature in Gitea 1.1.0 through 1.12.5 might allow for authenticated remote code execution in customer envir

CVE-2024-6886 CRITICAL POC
10.0 Aug 06

Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Gitea Gitea

CVE-2026-72867 CRITICAL POC
9.9 Aug 10

Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us

CVE-2026-20896 CRITICAL POC
9.8 Jul 03

Reverse-proxy authentication bypass in the official Gitea Docker image (versions up to and including 1.26.2) allows any

CVE-2026-59774 CRITICAL POC
9.8

Path traversal in Gitea's Org-mode (`.org`) markup renderer allows an attacker who can get Org-mode content rendered by

CVE-2026-58053 CRITICAL POC
9.4 Jun 28

Container escape in Gitea act_runner (Docker backend, through act 0.262.0) lets an authenticated user with workflow-exec

CVE-2019-11229 HIGH POC
8.8 Apr 15

models/repo_mirror.go in Gitea before 1.7.6 and 1.8.x before 1.8-RC3 mishandles mirror repo URL settings, leading to rem

CVE-2026-57894 HIGH POC
8.5 Jul 21

Server-side request forgery and internal repository exfiltration in Gitea before 1.27.0 lets a low-privileged authentica

CVE-2026-24791 HIGH POC
8.1 Jun 17

Authorization bypass in Gitea versions 1.22.3 through 1.26.1 allows holders of `public-only` access tokens or OAuth gran

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy