Skip to main content
Live Webinar with SANS (June 25)— Agentic CTI Automation for Fun & ProfitRegister Free
Mallory
UnratedPublic exploit

Unauthenticated access to private container images in Gitea

IdentifiersCVE-2026-27771CWE-284

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.

Share:
For your environment

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.

ANALYST BRIEF

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.

Successful exploitation allows unauthorized disclosure of private container images from affected Gitea instances. This can expose proprietary application artifacts, embedded secrets or credentials contained in images, internal software components, and other sensitive supply-chain material. The issue is remote and unauthenticated, so any reachable affected deployment may permit data access without prior compromise or valid user credentials.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, temporarily set [service].REQUIRE_SIGNIN_VIEW=true in the Gitea configuration to require authentication before viewing content. This workaround may not be suitable for deployments that intentionally expose some containers publicly. Additional defensive measures include restricting network exposure of the registry interface to trusted users or networks until patched.

Remediation

Patch, then assume compromise.

Upgrade Gitea to version 1.26.2 or later, as 1.26.2 is identified as the version that addresses the issue. Because forks may also be affected, maintainers and operators of Gitea-derived platforms should independently verify whether the fix has been incorporated. The provided reporting also indicates Forgejo was impacted in testing, so corresponding vendor fixes should be applied where relevant.
PUBLIC EXPLOITS

Exploits

1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos (1 hidden).

VALID 1 / 2 TOTALView more in app
CVE-2026-27771MaturityPoCVerified exploit

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.

portbuster1337Disclosed May 27, 2026pythonmarkdownwebnetwork
What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence

Every observed campaign linking this CVE to a named adversary.

Associated malware

Malware families riding this exploit, with evidence and IOCs.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity24

Community discussion across Reddit, Mastodon, and other social sources.