Full research report
Critical Gitea RCE Actively Exploited as Reported Attack Drops Miner-Like Payload
Executive assessment
CVE-2026-60004 crosses a sensitive boundary in Gitea by turning repository-controlled patch processing into command execution as the service account. Although repository write permission is required, open registration can reduce the practical entry condition to an internet visitor creating an account and repository. CISA's listing makes exploitation in the wild a confirmed fact, while the documented Gitea incident supplies credible evidence of a fast, automated path to loader execution. The final payload behaved consistently with cryptomining activity, but no malware family, wallet, pool or operator was established, and the CPU spike alone is insufficient for definitive attribution.
What happened
Gitea released version 1.27.1 on 27 July 2026 to correct CVE-2026-60004, a critical remote code-execution vulnerability in its diffpatch functionality. A self-hosted Gitea administrator subsequently published evidence of an apparently automated compromise of a vulnerable 1.24.7 instance, including account creation, repository creation, exploitation and delivery of a miner-like payload. CISA added the vulnerability to its Known Exploited Vulnerabilities catalog on 25 August, independently confirming exploitation in the wild, although it did not identify an operator or campaign.
Affected scope
Gitea versions 1.17 through 1.27.0 are affected; version 1.27.1 and later are patched. Exploitation requires repository write access, but an internet-facing instance that permits open registration and repository creation can allow an external visitor to obtain that access without pre-existing credentials. Source-code hosting environments are operationally sensitive because the Gitea service may hold repository content, configuration, tokens, credentials and access to build or deployment resources.
Technical assessment
The diffpatch implementation could apply repository-controlled content in a way that installed and invoked an executable Git hook, causing commands to run as the Gitea operating-system account. The documented incident showed a rapid sequence from registration to repository creation and suspicious diffpatch requests, followed by a loader and an unidentified miner-like payload. This establishes practical exploitation and post-compromise execution, but does not establish host-root access, the payload's exact family or a named cryptojacking campaign.
Recommended defensive actions
- Upgrade all affected Gitea installations to version 1.27.1 or later, preferably the latest supported release.
- Inventory internet-accessible Gitea services and verify their versions, registration settings and ability for new users to create repositories.
- Disable public registration and unnecessary OpenID sign-up where self-service accounts are not operationally required.
- Hunt Gitea and reverse-proxy logs for rapid sign-up, repository creation, repeated diffpatch requests, unexpected proof branches, temporary files and outbound downloads.
- Rotate Gitea administrator credentials, database passwords, access tokens and other secrets reachable by the service account on any suspected or confirmed compromised instance.
- Restrict Gitea service egress, mounted volumes, operating-system privileges and network access to the minimum required.
- Monitor Gitea hosts and containers for sustained CPU consumption, unfamiliar high-CPU processes and short-lived downloaded executables.
Uncertainties and evidence gaps
- CISA has not disclosed the incidents or evidence supporting its Known Exploited Vulnerabilities listing, so it is unknown whether that evidence relates to the published Habr incident or additional compromises.
- The incident author did not fully analyse the final payload; its malware family, mining pool, wallet and operator remain unknown.
- High CPU usage initiated the investigation but was not directly tied to an observed mining process at the moment of consumption, so the cryptomining conclusion remains credible rather than conclusively attributed.
- The scale, geographic distribution and target selection of current exploitation are unknown.
Vulnerability flow
Defender-oriented path reconstructed only from sourced report findings. Unknown stages are omitted.
Confirmed active exploitation; vendor-supplied and independent public proof-of-concept code is available.
The investigation separated the confirmed vulnerability and CISA exploitation determination from the narrower claim that attackers deployed a cryptocurrency miner. Primary Gitea records established the affected range, access condition, execution mechanism and fixed version, while CISA independently confirmed exploitation in the wild. The administrator's incident evidence supports automated exploitation and delivery of a miner-like payload, but not attribution or definitive identification of the final malware.
- What claims does the initial report make, and which require independent verification?Reviewed the supplied report for its timeline, vulnerability description, exploitation claim and alleged miner deployment.thehackernews.com โ
The report linked CVE-2026-60004, CISA's exploitation determination and a separately reported Gitea compromise involving a miner-like payload.
why This framed two distinct questions: whether exploitation is confirmed generally and whether the reported payload was conclusively a cryptocurrency miner.
- Has a government authority confirmed exploitation in the wild?Filtered CISA's Known Exploited Vulnerabilities catalog for CVE-2026-60004.cisa.gov โ
CISA lists the vulnerability as exploited in the wild, added it on 25 August 2026 and set a 28 August due date for affected federal bodies.
why This independently supports confirmed active exploitation, but CISA supplies no actor, victim or campaign details.
- What versions and permissions does the vendor identify?Read Gitea's primary security advisory.github.com โ
Versions from 1.17 up to but excluding 1.27.1 are affected; repository write access enables command execution as the Gitea service account, and open registration can provide that access to an external visitor.
why This resolves the affected range and shows why nominal authentication does not protect a default-style publicly registering deployment.
- When was the fix released and what version contains it?Reviewed Gitea's 1.27.1 release announcement.blog.gitea.com โ
Gitea released version 1.27.1 on 27 July 2026 with a fix for remote execution through diffpatch Git-hook installation.
why This establishes the minimum patched version and shows that a vendor remedy pre-dated the public exploitation warning.
- Does the formal vulnerability record corroborate the mechanism and severity?Opened the CVE Program record and checked its description, weakness classification and references.cve.org โ
The record describes remote code execution in Gitea before 1.27.1 through diffpatch Git-hook installation and classifies it as code injection with a critical 9.8 score.
why This provides an additional authoritative record matching the vendor's technical account and fix boundary.
- Is public exploit material available?Reviewed an independent public repository containing code for CVE-2026-60004.github.com โ
Public exploit code exists in addition to the proof of concept supplied with Gitea's advisory.
why Defenders should expect the technical barrier to opportunistic scanning to be low, while recognising that code availability alone would not prove exploitation without the CISA listing and incident evidence.
- What direct evidence supports the reported post-compromise activity?Read the affected administrator's incident report and examined its reconstructed request sequence and remediation account.habr.com โ
Logs from a Gitea 1.24.7 instance showed registration, private repository creation, repeated diffpatch requests, an execution-proof branch and a temporary file within about 11 seconds, followed by a loader and miner-like dropper. The author found no successful related SSH login or evidence of host-root access.
why The artefacts credibly support automated exploitation over HTTPS and subsequent payload delivery, but the author's explicit evidential limits prevent firm malware attribution.
- Can an independent security source corroborate exposure and remediation guidance?Reviewed runZero's vulnerability analysis and asset-discovery guidance.runzero.com โ
runZero identifies versions 1.17 through 1.27.0 as affected, notes the open-registration risk and recommends locating exposed installations and upgrading to 1.27.1 or later.
why This independently corroborates the operational scope and supports prioritised inventory and patching actions.
Research coverage
All 67 registered source leaves were evaluated for this run: 59 completed, 0 were unavailable, 1 failed and 7 were disabled. For this story, 4 registered sources supplied useful evidence (2 primary, 2 corroborating, 0 contextual and 0 PoC/exploit references). 55 completed sources contained no matched information for this story.
Complete source-by-source audit 67 sources
| Source | Run result | Value | Why it was useful โ or not |
|---|---|---|---|
| CISA KEVkev | ok1682 records | Primary evidence2 matched items | Confirmed that a related CVE is listed in CISA's Known Exploited Vulnerabilities catalogue. Supplied a vendor or government advisory opened and verified during focused research. |
| The Hacker Newsnews | ok12 records | Primary evidence1 matched items | Published the source report used to frame and date the event. |
| CISA Alertsnews | ok empty0 records | Corroborating1 matched items | A page from this source was opened and verified during focused research. |
| NVDcve | ok900 records | Corroborating1 matched items | A page from this source was opened and verified during focused research. |
| AlienVault OTXdark_web | failed0 records | Failed | The current collection attempt failed; this source cannot support the report. |
| BleepingComputernews | ok10 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| CIRCL CVEcve | ok30 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Cisco PSIRTvendor_advisory | ok5333 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Cisco Talosnews | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI CVE most exploiteddeepdarkcti | ok94 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI Discorddeepdarkcti | ok7 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI exploitsdeepdarkcti | ok24 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI forumsdeepdarkcti | ok264 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI malware as a servicedeepdarkcti | ok7 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI malware samplesdeepdarkcti | ok3 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI marketsdeepdarkcti | ok127 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI phishingdeepdarkcti | ok19 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI ransomware gangsdeepdarkcti | ok687 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI RATsdeepdarkcti | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI Telegram infostealerdeepdarkcti | ok130 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI Telegram threat actorsdeepdarkcti | ok1012 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| deepdarkCTI Twitter threat actorsdeepdarkcti | ok39 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Exploit-DBexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| FIRST EPSSepss | ok | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Fortinet PSIRTvendor_advisory | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| GitHub topic: cveresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GitHub topic: exploitresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GitHub topic: penetration-testingresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GitHub topic: pocresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GitHub topic: vulnerabilityresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| GreyNoiseexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| KrebsOnSecuritynews | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| LinkedIn RSS proxy feeds (disabled)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| MalwareBazaardark_web | ok10 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #cveresearch | ok19 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #cybersecurityresearch | ok15 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #exploitresearch | ok20 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #infosecresearch | ok20 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #malwareresearch | ok19 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #ransomwareresearch | ok18 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #threatintelresearch | ok13 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Mastodon #vulnerabilityresearch | ok19 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Metasploit module metadataexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Microsoft MSRCvendor_advisory | ok1591 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Microsoft Securitynews | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| MISP Galaxyresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| MISP threat actor galaxyactor | ok0 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Palo Alto Networks PSIRTvendor_advisory | ok25 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| ProjectDiscovery nuclei templatesexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Rapid7news | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Reddit r/AskNetsec (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| Reddit r/cybersecurity (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| Reddit r/malware (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| Reddit r/netsec (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| Reddit r/ReverseEngineering (pending API approval)research | disabled | Disabled | Disabled in the source registry; no check was attempted. |
| SANS ISCnews | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Shadowserver public aggregate honeypot observationsexploit_reference | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Shodanresearch | ok1 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Sigma Rulesresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Sophos IOCsresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| ThreatFoxthreat_intelligence | ok100 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| UK NCSCnews | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| Unit42 IOCsresearch | ok empty0 records | Checked โ no match | The source completed but returned no records in the collection scope. |
| URLhausdark_web | ok10 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| VirusTotal Community IOC enrichmentresearch | ok4 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| VulnCheck KEVkev | ok500 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
| Vulnerability Lookupcve | ok30 records | Checked โ no match | The source completed, but none of its retained records matched this story. |
Additional verified pages 14 opened outside the registered collection
Vulnerability & exploitation1
Reporting-linked PoC claims1
Linked by reporting but not validated as PoC by the configured exploit indexes.
PoC & exploit code2
Gitea's advisory includes a proof of concept and defines the access requirements, affected versions and impact.
Independent public exploit code targets the Gitea diffpatch vulnerability.
Vendor & gov advisories3
The primary advisory identifies Gitea 1.17 through 1.27.0 as affected and 1.27.1 as patched.
Gitea announced the security fix on 27 July 2026 and urged users to upgrade.
CISA added CVE-2026-60004 on 25 August 2026, confirming exploitation in the wild and setting a 28 August remediation date for affected US federal bodies.
OSINT / dark-web chatter1
A Gitea administrator documented an apparent automated compromise, loader execution and miner-like payload on a vulnerable 1.24.7 instance.
Analysis & research3
The CVE record confirms remote code execution through Git hook installation, a critical 9.8 score and the 1.27.1 fix boundary.
Independent analysis corroborates the affected range, service-account impact and need to inventory exposed installations.
Reporting connects the CISA listing with the separately published Gitea incident while preserving uncertainty about the payload and operator.