Critical severity · published Dec 3, 2023
CVE-2023-49946
In Forgejo before 1.20.5-1, certain endpoints do not check whether an object belongs to a repository for which permissions are being checked
9.1
CVSS
0.9%
EPSS
No
On KEV
Description
In Forgejo before 1.20.5-1, certain endpoints do not check whether an object belongs to a repository for which permissions are being checked. This allows remote attackers to read private issues, read private pull requests, delete issues, and perform other unauthorized actions.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.9% · higher than 58% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
FO
Forgejo · Forgejo
before 1.20.5-1 · source: NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2023-49946
CVE.org
https://www.cve.org/CVERecord?id=CVE-2023-49946
Not Applicable
https://about.gitea.com/security
Release Notes
https://codeberg.org/forgejo/forgejo/src/branch/forgejo/RELEASE-NOTES.md
Release Notes
https://forgejo.org/2023-11-release-v1-20-5-1/
Not Applicable
https://github.com/gogs/gogs/security
More from Forgejo
9.9
CVE-2026-89094
Forgejo before 16.0.4 allows remote code execution via a crafted template repository because template expansion on files in .forgejo/template is mishandled
9.5
CVE-2025-68937
Forgejo before 13.0.2 allows attackers to write to unintended files, and possibly obtain server shell access, because of mishandling of out-of-repository symlink destinations for…
7.5
CVE-2023-49947
Forgejo before 1.20.5-1 allows 2FA bypass when docker login uses Basic Authentication
6.3
CVE-2026-82556
Forgejo Repository Migration is_migrate_allowed.go net.LookupIP server-side request forgery
5.4
CVE-2026-59102
Forgejo < 15.0.3 - Stored XSS via Actions Run Full Name Rendering
