CVE-2023-49946
Description
Forgejo before 1.20.5-1 fails to verify object ownership in API/web endpoints, allowing unauthorized read/delete of private issues and pull requests.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Forgejo before 1.20.5-1 fails to verify object ownership in API/web endpoints, allowing unauthorized read/delete of private issues and pull requests.
Vulnerability
Forgejo versions before 1.20.5-1 contain a missing ownership check in certain API and web endpoints. These endpoints rely on object identifiers (e.g., comment IDs) but do not verify that the object belongs to the repository against which permissions are checked. This allows attackers to perform actions on objects in unrelated repositories, including private ones [1].
Exploitation
An attacker needs network access to the Forgejo instance and a valid user account (any level). By crafting requests with object identifiers from other repositories, the attacker can read or modify issues, pull requests, comments, releases, tags, and more, including those in private repositories. No special privileges beyond a basic account are required [1].
Impact
Successful exploitation leads to unauthorized information disclosure (reading private issues, pull requests, comments) and data integrity loss (deleting releases, tags, issues, comments). The attacker can also perform non-destructive actions like creating issues or moving pinned issues. The scope is cross-repository, affecting all repositories on the instance [1].
Mitigation
The vulnerability is fixed in Forgejo v1.20.5-1, released on 25 November 2023 [1]. Users are strongly recommended to upgrade immediately. No workarounds are mentioned. The fix includes additional verification and tests [1].
AI Insight generated on May 27, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2Patches
0No patches discovered yet.
Vulnerability mechanics
No source-code context for this CVE — mechanics is only generated when we can read the actual fix diff. Without that, the four sections (root cause, attack vector, affected code, fix) would be speculation rather than analysis.
References
3News mentions
0No linked articles in our index yet.