Categories
CVE-2026-60004 CISA KEV critical CVSS 9.8

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

❓ What is the problem

Arbitrary code execution (CWE-94) exists in gitea.dev. Attackers reach the vulnerable code path via diffpatch without authentication.

📍 Affected scope

Check the vendor advisory for the affected versions of gitea.dev. Attack surface: diffpatch / gitea_diffpatch_rce_poc.py / app.ini.

🔥 Severity

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.

🔧 How to fix

Update to 1.27.1.

🛡️ Workaround

Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.

🔍 Detection

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

  1. 1
    Identify exposure identify
    grep -r 'gitea.dev' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で gitea.dev を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    Consider incident declaration escalate
    Notify SOC / on-call

    CISA KEV登録済 = 実環境で悪用が観測されている。侵入の兆候があればインシデント対応宣言、無くてもパッチ適用までWAF強化を最優先で。

  3. 3
    Apply patch patch
    Upgrade gitea.dev to 1.27.1

    ステージング環境で 1.27.1 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。

  4. 4
    Post-deployment verification verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

Affected packages

go gitea.dev
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.27.1"}]}]

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details