Gitea tag delete route deletes releases without release permission
The Gitea web route for deleting tags (`POST /{owner}/{repo}/tags/delete`) requires only write access to the Code unit, but shares its handler with release deletion and did not check that the target was a plain tag. A collaborator with Code write access and without Releases write access could permanently delete published releases of that repository, including their attachments. Protected tag rules covering the release tag still blocked the deletion.
- Products
- gitea
- Affected versions
- Not specified
- Fixed versions
- 28.1.0
- CVEs
- CVE-2026-105267
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 12:05 UTC · Revision 1
Source evidence
Gitea tag delete route deletes releases without release permission
core-osv · Original sourcePublished 14 Oct 2026, 08:42 UTC
The Gitea web route for deleting tags (`POST /{owner}/{repo}/tags/delete`) requires only write access to the Code unit, but shares its handler with release deletion and did not check that the target was a plain tag. A collaborator with Code write access and without Releases write access could permanently delete published releases of that repository, including their attachments. Protected tag rules covering the release tag still blocked the deletion.
osv:BIT-gitea-2026-105267
gitea
Fixed versions: 28.1.0
Complete source record
{
"id": "bb8e4f6a591fa37c903b798a69ccacd6a0dc5e13e9b55d011009b623d7b8e2b5",
"url": "https://osv.dev/vulnerability/BIT-gitea-2026-105267",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Gitea tag delete route deletes releases without release permission",
"summary": "The Gitea web route for deleting tags (`POST /{owner}/{repo}/tags/delete`) requires only write access to the Code unit, but shares its handler with release deletion and did not check that the target was a plain tag. A collaborator with Code write access and without Releases write access could permanently delete published releases of that repository, including their attachments. Protected tag rules covering the release tag still blocked the deletion.",
"evidence": "osv:BIT-gitea-2026-105267",
"products": [
{
"name": {
"value": "gitea",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "28.1.0",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "BIT-gitea-2026-105267",
"aliases": [
"BIT-gitea-2026-105267",
"CVE-2026-105267",
"GHSA-vvqw-mjq8-x248"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "28.1.0"
}
]
}
],
"package": {
"name": "gitea",
"purl": "pkg:bitnami/gitea",
"ecosystem": "Bitnami"
},
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/gitea/BIT-gitea-2026-105267.json"
}
}
],
"modified": "2026-10-14T11:10:49.781718348Z",
"provider": "osv",
"references": [
"https://blog.gitea.com/release-of-28.1.0/",
"https://github.com/go-gitea/gitea/pull/39501",
"https://github.com/go-gitea/gitea/pull/39507",
"https://github.com/go-gitea/gitea/releases/tag/v28.1.0",
"https://github.com/go-gitea/gitea/security/advisories/GHSA-vvqw-mjq8-x248",
"https://nvd.nist.gov/vuln/detail/CVE-2026-105267"
],
"provider_metadata": {
"cpes": [
"cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:*"
],
"severity": "High"
}
},
"related_cves": [
{
"value": "CVE-2026-105267",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 316236,
"published_at": "2026-10-14T08:42:42.647+00:00"
}