Impact
Gitea substitutes a URL derived from the markup Context field into external renderer command templates without escaping the reference path before shell-style argument splitting. A crafted Context can inject additional renderer arguments, including options that load executable filter files. If a susceptible external renderer such as pandoc is available, an attacker who can place a filter file at an accessible path can cause it to execute as the Gitea service account. The public repository markup endpoint is reachable without authentication, enabling remote exploitation. The vulnerability is classified under CWE-88 as an improper handling of an injected type.
Affected Systems
The vulnerability affects Gitea installations that enable external renderers such as pandoc before the release of version 1.27.2. All prior versions are vulnerable; the 1.27.2 release includes the fix. Users running older Gitea instances should update or disable the external renderer feature.
Risk and Exploitability
The CVSS score is not listed in the input, and the EPSS score is <1%, but the vulnerability is not currently indexed in the CISA KEV catalog. Given that the public markup endpoint can be accessed without authentication, exploitation is feasible by any internet-connected attacker who can craft a malicious Context field. The attacker must only supply a path to a filter file they can write to a location reachable by the Gitea process. Once the external renderer runs, arbitrary code would execute under the privileges of the Gitea service account, giving the attacker local root-like access to the underlying host. The absence of a KEV listing does not preclude exploitation; it simply indicates no known large-scale campaigns have been observed yet.
OpenCVE Enrichment