Forgejo
Monthly
Remote code execution in Forgejo before 16.0.4 allows an authenticated user who can supply a template repository to run arbitrary code on the server, because template expansion of files under .forgejo/template is mishandled (server-side template injection, CWE-1336). Any user permitted to create repositories from a malicious template can trigger execution in the server context. No public exploit has been identified at time of analysis, but the SSTI root cause and self-hosted Git-forge target make this a high-priority patch.
Identity spoofing in Forgejo's ActivityPub federation allows a remote attacker who controls any single valid ActivityPub actor and keypair to submit HTTP-Signature-valid activities falsely attributed to arbitrary actor identities on a target instance. Affected versions span 13.0.0 through 16.0.4, but only when federation is explicitly enabled via the non-default setting `[federation] ENABLED = true`. The vendor explicitly confirms this does not permit account takeover or content modification - impact is limited to false attribution of federated activities. No public exploit has been identified at time of analysis.
Restricted API token authorization bypass in Forgejo before 16.0.4 (and before 15.0.8 on the 15.x branch) allows authenticated users holding limited-scope tokens to invoke the 'allow maintainer edit' pull-request feature beyond those tokens' intended permissions. The flaw is CWE-863 Incorrect Authorization: the endpoint responsible for toggling maintainer-edit access on PRs fails to enforce token scope boundaries, permitting a scoped token to reach an operation it should be barred from. No public exploit has been identified at time of analysis, and CVSS AC:H signals that specific token configuration conditions must be met to trigger the bypass.
Server-side request forgery in Forgejo up to 15.0.4 allows authenticated users to bypass the repository migration IP allowlist by manipulating `net.LookupIP` in the migration handler, causing the Forgejo server to issue requests to internal network resources that should be unreachable. The CVSS 4.0 vector confirms network-exploitable, low-privilege access with limited but real impact across confidentiality and integrity. Publicly available exploit code exists via Codeberg issue #13433, and the project maintainer has explicitly declined to backport the fix to v15 or v16, leaving those release lines permanently exposed absent a self-applied patch.
Stored XSS in Forgejo before 15.0.3 allows authenticated users to execute arbitrary JavaScript in other users' browsers by embedding an HTML payload in their display name and triggering a CI/CD Actions run. The vulnerability exists because the server-side run description assembles HTML by interpolating the user's full name through a translation function that performs no output encoding, and the frontend renders this server-generated markup via a Vue v-html binding - a classic sink for stored XSS. No public exploit identified at time of analysis as actively exploited in the wild, but a public proof-of-concept exists at the VulnCheck-referenced GitHub repository. The CVSS 4.0 score of 2.1 reflects the non-default configuration prerequisite and passive user interaction required, but the impact on subsequent systems (other users' browser sessions) is real.
Forgejo before 1.20.5-1 allows remote attackers to test for the existence of private user accounts by appending .rss (or another extension) to a URL. Rated medium severity (CVSS 5.3), this vulnerability is remotely exploitable, no authentication required, low attack complexity.
Forgejo before 1.20.5-1 allows 2FA bypass when docker login uses Basic Authentication. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. This Incorrect Authorization vulnerability could allow attackers to bypass authorization checks to access restricted resources.
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. Rated critical severity (CVSS 9.1), this vulnerability is remotely exploitable, no authentication required, low attack complexity. No vendor patch available.
Remote code execution in Forgejo before 16.0.4 allows an authenticated user who can supply a template repository to run arbitrary code on the server, because template expansion of files under .forgejo/template is mishandled (server-side template injection, CWE-1336). Any user permitted to create repositories from a malicious template can trigger execution in the server context. No public exploit has been identified at time of analysis, but the SSTI root cause and self-hosted Git-forge target make this a high-priority patch.
Identity spoofing in Forgejo's ActivityPub federation allows a remote attacker who controls any single valid ActivityPub actor and keypair to submit HTTP-Signature-valid activities falsely attributed to arbitrary actor identities on a target instance. Affected versions span 13.0.0 through 16.0.4, but only when federation is explicitly enabled via the non-default setting `[federation] ENABLED = true`. The vendor explicitly confirms this does not permit account takeover or content modification - impact is limited to false attribution of federated activities. No public exploit has been identified at time of analysis.
Restricted API token authorization bypass in Forgejo before 16.0.4 (and before 15.0.8 on the 15.x branch) allows authenticated users holding limited-scope tokens to invoke the 'allow maintainer edit' pull-request feature beyond those tokens' intended permissions. The flaw is CWE-863 Incorrect Authorization: the endpoint responsible for toggling maintainer-edit access on PRs fails to enforce token scope boundaries, permitting a scoped token to reach an operation it should be barred from. No public exploit has been identified at time of analysis, and CVSS AC:H signals that specific token configuration conditions must be met to trigger the bypass.
Server-side request forgery in Forgejo up to 15.0.4 allows authenticated users to bypass the repository migration IP allowlist by manipulating `net.LookupIP` in the migration handler, causing the Forgejo server to issue requests to internal network resources that should be unreachable. The CVSS 4.0 vector confirms network-exploitable, low-privilege access with limited but real impact across confidentiality and integrity. Publicly available exploit code exists via Codeberg issue #13433, and the project maintainer has explicitly declined to backport the fix to v15 or v16, leaving those release lines permanently exposed absent a self-applied patch.
Stored XSS in Forgejo before 15.0.3 allows authenticated users to execute arbitrary JavaScript in other users' browsers by embedding an HTML payload in their display name and triggering a CI/CD Actions run. The vulnerability exists because the server-side run description assembles HTML by interpolating the user's full name through a translation function that performs no output encoding, and the frontend renders this server-generated markup via a Vue v-html binding - a classic sink for stored XSS. No public exploit identified at time of analysis as actively exploited in the wild, but a public proof-of-concept exists at the VulnCheck-referenced GitHub repository. The CVSS 4.0 score of 2.1 reflects the non-default configuration prerequisite and passive user interaction required, but the impact on subsequent systems (other users' browser sessions) is real.
Forgejo before 1.20.5-1 allows remote attackers to test for the existence of private user accounts by appending .rss (or another extension) to a URL. Rated medium severity (CVSS 5.3), this vulnerability is remotely exploitable, no authentication required, low attack complexity.
Forgejo before 1.20.5-1 allows 2FA bypass when docker login uses Basic Authentication. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. This Incorrect Authorization vulnerability could allow attackers to bypass authorization checks to access restricted resources.
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. Rated critical severity (CVSS 9.1), this vulnerability is remotely exploitable, no authentication required, low attack complexity. No vendor patch available.