Skip to main content

Gitea CVE-2026-59774

| EUVDEUVD-2026-101281 CRITICAL
Path Traversal (CWE-22)
N/A vendor:alpine
9.8
CVSS 3.1 · Vendor: vendor:alpine
View

Attack ChainAIDerived

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

  1. Access
    Create/push repo with malicious .org file
  2. Exploit
    Craft #+INCLUDE path-traversal directive
  3. Execution
    Trigger server-side org-mode rendering
  4. Impact
    Disclose arbitrary server files

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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

Exploitation Conditions

Exploitation requires that Gitea render an attacker-controlled Org-mode (.org) file - i.e. the attacker must be able to place such a file in a repository, issue, wiki, or comment that the server will render via the orgmode markup module. The vulnerable behavior is the org parser's processing of #+INCLUDE: directives, which read files from the server filesystem. Limiting factors: the target Gitea instance must be running an affected version (1.22 through <1.27.1), org-mode content must actually be rendered (the attacker typically needs the ability to create/push a repository or post rendered content, implying at least a registered account unless open registration is enabled), and impact is primarily arbitrary file disclosure rather than code execution.

Impact

The input assigns CVSS 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), which rates this as critical network-exploitable with full CIA impact and no privileges. However, the GitHub PR diff (go-gitea/gitea#38642) shows the actual flaw is in org-mode markup rendering: the parser honored #+INCLUDE: directives, allowing arbitrary server-side file inclusion/disclosure. This is fundamentally a CWE-22 path-traversal file-read primitive, so the real-world impact is weighted heavily toward confidentiality - the I:H/A:H components of the 9.8 vector appear overstated for an INCLUDE-based file read and should be verified against the GHSA-6v53-hr58-556r advisory. PR:N (unauthenticated) is also questionable: realistically an attacker must get Gitea to render a malicious .org file, which typically requires an account to create/push a repository; on instances with open registration this approaches unauthenticated, but on locked-down instances it is effectively PR:L. A public exploit is reported (POC=YES) which raises urgency, but there is NO EPSS score and NO CISA KEV entry provided, so there is no evidence of active or widespread exploitation at this time. Net: a genuine high-priority issue for internet-exposed Gitea instances given low complexity and POC availability, but the raw 9.8/CIA-full rating likely overstates integrity/availability impact relative to the confirmed file-disclosure behavior.

Exploit ScenarioDerived

An attacker creates or pushes a repository to a Gitea instance containing a crafted Org-mode (.org) file that uses #+INCLUDE: directives with traversal paths; when Gitea renders that file, the org parser reads and discloses arbitrary files from the server's filesystem (e.g. configuration or secrets). A public exploit is reported to exist, and with AV:N/AC:L the attack is low-complexity over the network, limited mainly by the need to host the malicious file where it will be rendered.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
Patch available 28.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Oct 14, 2026

Path traversal in Gitea's Org-mode (.org) markup renderer allows an attacker who can get Org-mode content rendered by the server to read arbitrary files from the Gitea host filesystem, through abuse of the #+INCLUDE: directive. Affected releases are Gitea 1.22 through versions prior to 1.27.1 (including the Alpine Linux gitea package, fixed in 1.27.1-r0); publicly available exploit code exists, and vendor patches are available. The input's 9.8 CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) overstates the issue relative to our independent assessment (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N), which characterizes this as an authenticated arbitrary file disclosure rather than unauthenticated remote code execution with full integrity and availability impact. No CISA KEV entry was provided, so active exploitation is not confirmed.

Earlier versions of this analysis (1)
v1 Aug 11, 2026 - 23:56

Gitea received a security fix in Alpine Linux package version 1.27.1-r0, addressing an unspecified vulnerability tracked as CVE-2026-59774. The underlying vulnerability class, attack vector, and impact are not disclosed in the available intelligence. Administrators running Gitea on Alpine Linux should treat this as an uncharacterized security fix and upgrade promptly, as the absence of public detail does not imply low severity.

RemediationAI

Upgrade to Gitea 1.27.1 or later - the vendor-released patch is version 1.27.1, and Alpine Linux users should move to the gitea 1.27.1-r0 package from the Alpine repositories (see the upstream security advisory at https://github.com/go-gitea/gitea/security/advisories/GHSA-6v53-hr58-556r, the release notes at https://github.com/go-gitea/gitea/releases/tag/v1.27.1, and the blog post at https://blog.gitea.com/release-of-1.27.1/ for the exact version). Operators who cannot upgrade immediately should backport the fix from https://github.com/go-gitea/gitea/pull/38642 (and the companion change at https://github.com/go-gitea/gitea/pull/38645), which replaces the Org-mode file reader with a no-op that renders #+INCLUDE: directives as plain text - the trade-off being that legitimate cross-file Org-mode includes are no longer resolved and will display literally. Where patching is not feasible, mitigating options include disabling Org-mode rendering for untrusted content (for example, restricting which file extensions the markup pipeline processes, or turning off the org-mode renderer entirely), which removes the attack surface but degrades wiki/repository documentation rendering, and tightening content-creation privileges so that only trusted accounts can push or post content that the server will render, along with running the Gitea process under a restricted service account and filesystem confinement (read-only mounts, SELinux/AppArmor profiles) to limit what a successful traversal could disclose. Because public exploit code is already available, patching should be treated as time-sensitive.

Affected VersionsENISA

Gitea 1.22 <1.27.1

Affected Packages

euvd gitea fix: 1.27.1

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 flaw resides in Gitea's Org-mode markup module (modules/markup/orgmode/orgmode.go), which wraps the Go go-org parsing library to render Org-mode documents in repositories, wikis, issues, and comments. Org-mode supports a #+INCLUDE: directive that instructs the parser to fetch and inline the contents of another file; by default the library resolves such paths on the local filesystem via its ReadFile hook. Because Gitea passed attacker-supplied document content straight into org.New().Silent().Parse(...) without constraining that file access, a crafted #+INCLUDE: path could traverse outside any intended render root and disclose server-side files - the classic CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / Path Traversal) pattern applied to a file-inclusion feature. The upstream fix referenced by PR 38642 replaces the default reader with a stub cfg.ReadFile that never touches disk, instead emitting the literal text #+INCLUDE: [[<path>]] so that the directive degrades to plain text rather than performing any I/O; a companion change (PR 38645) and test coverage (TestRender_IncludeLink) accompany it. Exploitation therefore hinges on the orgmode renderer being reached with attacker-controlled .org content, and the practical impact is arbitrary file read (confidentiality), not command execution.

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 (vendor:alpine) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 6.5 MEDIUM

Attacker must host a malicious .org file, typically requiring an account (PR:L); the INCLUDE flaw yields arbitrary file disclosure (C:H) with no integrity or availability impact (I:N/A:N).

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

Primary rating from Vendor (vendor:alpine).

CVSS VectorVendor: vendor:alpine

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

Lifecycle Timeline

2
CVSS changed
Oct 14, 2026 - 16:22 NVD
9.8 (CRITICAL)
Patch available
Oct 14, 2026 - 16:03 EUVD

DescriptionCVE.org

Alpine Linux: gitea fixed in 1.27.1-r0

Executive ViewAI

Why It Matters

Gitea - the self-hosted source code and CI platform used across our engineering organization - has a critical-severity flaw in its Org-mode markup renderer that lets an attacker read arbitrary files from the server hosting the instance, including configuration files that hold database credentials, API tokens, and signing keys. Public exploit code is already circulating, so any Gitea instance we run between versions 1.22 and 1.27.1 (including the Alpine gitea package) should be treated as a likely near-term target. Leadership should care because a single successful read can expose the secrets that protect our entire code repository and build pipeline, turning a code-hosting compromise into a broader credential and intellectual-property incident.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
28.3%
Top 2% exploitable
Prevalence
Medium
popular self-hosted git service, common but not internet-ubiquitous infrastructure
Exploit
POC
Public exploit code exists
Data Quality
4 sources
Confidence: Medium

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 CRITICAL
CISA KEV No
Public POC Yes
EPSS 28.3%
Patch available Yes
Active threat Yes
Deciding rule
CRITICAL severity + public POC available
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· derived
Out-of-Cycle
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

97
Low Medium High Critical
KEV: 0
EPSS: +28
CVSS: +49
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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-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-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

CVE-2020-13246 HIGH POC
7.5 May 20

An issue was discovered in Gitea through 1.11.5. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita

CVE-2022-0905 HIGH POC
7.1 Mar 10

Missing Authorization in GitHub repository go-gitea/gitea prior to 1.16.4. Rated high severity (CVSS 7.1), this vulnerab

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