{"id":"CVE-2026-109844","title":"Gitea watched repositories API disclosure after access revocation","summary":"`GET /api/v1/user/subscriptions` returned the metadata of every repository a user was watching without checking that the user still had access to it. A user who watched a private repository while having access, and later lost it, for exa…","severity":"none","cwe":["CWE-862"],"vendor":"Gitea","product":"gitea.dev","affected":["gitea.dev <= 1.26.4"],"published":"2026-10-18","updated":"2026-10-18","sourceUpdated":"2026-10-18T18:57:08.476Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-109844","references":[{"url":"https://github.com/go-gitea/gitea/security/advisories/GHSA-96gv-2xc4-4hxj","label":"GitHub Security Advisory GHSA-96gv-2xc4-4hxj"},{"url":"https://github.com/go-gitea/gitea/pull/38321","label":"Fix: go-gitea/gitea pull request #38321"},{"url":"https://github.com/go-gitea/gitea/pull/38390","label":"Fix backport to release/v1.27: go-gitea/gitea pull request #38390"},{"url":"https://blog.gitea.com/release-of-28.2.0/","label":"Gitea 28.2.0 release announcement"},{"url":"https://github.com/go-gitea/gitea/releases/tag/v28.2.0","label":"go-gitea/gitea v28.2.0 release"}],"tags":["cve.org"],"ingestedAt":"2026-10-18T19:51:12.338Z","slug":"CVE-2026-109844","body":"## Overview\n\n`GET /api/v1/user/subscriptions` returned the metadata of every repository a user was watching without checking that the user still had access to it. A user who watched a private repository while having access, and later lost it, for example through a team permission downgrade, could still read its name, description, clone URLs, owner and counters. The issue was fixed in 1.27.0 and 28.0.0 and disclosed with 28.2.0.\n\n## Affected\n\n- `gitea.dev <= 1.26.4`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}