[KEV] Code Injection in gitea.dev (CVE-2026-60004)
Summary
Code injection in gitea.dev (CVE-2026-60004). Successful exploitation can lead to full system takeover. Exploitable via diffpatch. Listed in CISA KEV — actively exploited. Mitigation: upgrade to 1.27.1 or later.
Original description
The description as published by the source.
Summary
Gitea's diffpatch endpoint can be abused to install and execute a Git hook from repository-controlled content.
An attacker with ordinary write access to a repository can execute arbitrary shell commands as the Gitea OS user. With default open registration, an unauthenticated visitor can obtain the required write access by registering an account and creating a repository.
Details
services/repository/files/patch.go applies attacker-controlled patches in a shared bare temporary clone:
cmdApply := gitcmd.NewCommand("apply", "--index", "--recount", "--cached", "--binary")
if git.DefaultFeatures().CheckVersionAtLeast("2.32") {
cmdApply.AddArguments("-3")
}
Submitting the same patch twice creates an add/add collision. Git's three-way fallback checks the indexed path out even though the operation is performed with --cached.
In a bare clone, the repository root is $GIT_DIR. As a result, an executable entry named:
hooks/post-index-change
becomes a live Git hook.
Git invokes the hook while writing the index, allowing repository-controlled content to execute arbitrary commands as the Gitea service account.
The hook's return value is not propagated to the diffpatch response.
The attached PoC stores command output in Git objects and creates a branch containing the result, so no outbound connection is required. The result is fetched through authenticated smart HTTP.
PoC
The supplied gitea_diffpatch_rce_poc.py uses an e…
Source: CISA Known Exploited Vulnerabilities NVD GitHub Advisory CISA KEV
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-60004 has been found in gitea.dev.
Attackers can target a specific entry point like diffpatch over the network to misuse the product.
Successful exploitation can lead to full system takeover. CVSS score: 9.8/10.
Note: CISA has officially confirmed this is actively exploited in the wild. Treat it with elevated urgency.
What to do: upgrade gitea.dev to 1.27.1 or later.
If unsure, ask your IT team or search "gitea.dev CVE-2026-60004" on the vendor's site.
CVE-2026-60004 (gitea.dev) — CWE-94 / CVSS v3 9.8
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: diffpatch / gitea_diffpatch_rce_poc.py / app.ini
Patched: 1.27.1 — apply immediately
Listed in CISA KEV — actively exploited, treat as top priority.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
Arbitrary code execution (CWE-94) exists in gitea.dev. Attackers reach the vulnerable code path via diffpatch without authentication.
Check the vendor advisory for the affected versions of gitea.dev. Attack surface: diffpatch / gitea_diffpatch_rce_poc.py / app.ini.
Severity: Critical (CVSS 9.8/10). Successful exploitation can lead to full system takeover. Listed in CISA KEV — actively exploited in the wild, treat as top priority.
Update to 1.27.1.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'gitea.dev' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'gitea.dev' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
gitea.devを grep し、稼働しているサービス・バージョンを把握する。 -
2Consider incident declaration escalate
Notify SOC / on-callCISA KEV登録済 = 実環境で悪用が観測されている。侵入の兆候があればインシデント対応宣言、無くてもパッチ適用までWAF強化を最優先で。
-
3Apply patch patch
Upgrade gitea.dev to 1.27.1ステージング環境で 1.27.1 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
4Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- advisory cve@mitre.org
- web nvd.nist.gov
- web cve@mitre.org
- web github.com
- web github.com
- web cisa.gov
- web github.com
- web github.com
- web github.com
- web github.com
- web blog.gitea.com
- web github.com
- web runzero.com
- web github.com