Unauthenticated access to private container images in Gitea
CVE-2026-27771 is an access control flaw in Gitea affecting all versions prior to 1.26.2. According to the provided reporting, affected Gitea deployments can expose private container images to unauthenticated remote attackers, allowing those images to be pulled without an account, password, or other credentials. The issue causes repositories or registry content marked private to be served as if public. No additional technical details about the specific vulnerable function or code path were provided in the source material.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
Remediation
Patch, then assume compromise.
Exploits
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).
Repository contains a single Python proof-of-concept exploit and a README. The main file, CVE-2026-27771-exploit.py, targets a Gitea container registry authorization bypass affecting versions before 1.26.2. The exploit is not framework-based and is a standalone operational script. The script supports three modes: scan, pull, and register. In scan mode it performs pre-flight checks against the target, including version detection and OCI registry availability, then attempts to obtain an anonymous registry token or use a supplied token. It enumerates repositories via /v2/_catalog and tags via per-repository tag listing endpoints to determine exposure. In pull mode it goes further by retrieving manifests, resolving multi-architecture images, downloading blobs/layers, and extracting gzip-compressed tar layers into local directories. In register mode it attempts to create a new account through the web registration flow if self-registration is enabled and not protected by captcha. Code structure is straightforward: helper HTTP functions (fetch, fetch_auth, post_form), token helpers (JWT decoding, PAT detection, PAT-to-JWT exchange), registration logic, pre-flight/version parsing, repository/tag enumeration, and image pulling/extraction routines. The script disables TLS certificate validation, uses urllib and a cookie jar for session handling, and supports both anonymous and authenticated access paths. The exploit’s core capability is unauthorized remote access to private OCI container images hosted on vulnerable Gitea instances. It fingerprints the target through version and registry endpoints, then abuses the flawed authorization model to enumerate and exfiltrate private registry contents. The README documents affected versions, root cause, workaround, and reproduction steps, confirming the exploit’s purpose and expected behavior.
Recent activity
25 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.