---
id: CVE-2026-117685
title: Gitea public-only package token access to private OCI blobs
summary: >-
  The OCI registry's cross-repository blob mount checked the target package
  against the token's `public-only` restriction, but checked the source blob
  only against the full account permissions of the token owner. A `public-only`
  token with…
severity: none
cwe:
  - CWE-863
vendor: Gitea
product: gitea.dev
affected:
  - gitea.dev < 28.3.0
published: '2026-11-01'
updated: '2026-11-01'
sourceUpdated: '2026-11-01T09:48:46.825Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-117685'
references:
  - url: 'https://github.com/go-gitea/gitea/security/advisories/GHSA-8g99-g36h-5p2w'
    label: GitHub Security Advisory GHSA-8g99-g36h-5p2w
  - url: 'https://github.com/go-gitea/gitea/pull/39690'
    label: 'Fix: go-gitea/gitea pull request #39690'
  - url: 'https://github.com/go-gitea/gitea/pull/39853'
    label: 'Fix backport to release/v28: go-gitea/gitea pull request #39853'
  - url: 'https://blog.gitea.com/release-of-28.3.0/'
    label: Gitea 28.3.0 release announcement
  - url: 'https://github.com/go-gitea/gitea/releases/tag/v28.3.0'
    label: go-gitea/gitea v28.3.0 release
tags:
  - cve.org
epss: 0.00149
epssPercentile: 0.04079
ingestedAt: '2026-11-05T18:28:50.708Z'
---

## Overview

The OCI registry's cross-repository blob mount checked the target package against the token's `public-only` restriction, but checked the source blob only against the full account permissions of the token owner. A `public-only` token with `write:package` scope, whose owner can read a private package and write to a public package namespace, could mount a blob of the private package into the public package. The private blob, such as a container layer, could then be downloaded by anyone through the public package.

## Affected

- `gitea.dev < 28.3.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
