CVE-2026-90679: Medium severity Forgejo Forgejo vulnerability
Forgejo 13.0.0 through 16.0.4, when "[federation] ENABLED = true" is set, has a spoofing issue that affects identity integrity but does not allow account takeover or content modification. It does not verify that the HTTP Signature on an incoming ActivityPub activity was produced by the key belonging to the actor named in the activity body. The signature verification in routers/api/v1/activitypub/reqsignature.go validates the request signature, but the inbox activity handlers subsequently read the acting identity from the attacker-controlled JSON body without binding it to the verified signing key. Additionally, the signed Digest header is not recomputed against the received request body. A remote attacker who hosts a single valid ActivityPub actor and keypair can therefore submit signature-valid activities attributed to any actor identity they name.
Other sources
Forgejo 13.0.0 through 16.0.4, when "[federation] ENABLED = true" is set, has a spoofing issue that affects identity integrity but does not allow account takeover or content modification. It does not verify that the HTTP Signature on an incoming ActivityPubactivity was produced by the key belonging to the actor named in the activity body. The signature verification in routers/api/v1/activitypub/reqsignature.go validates the request signature, but the inbox activity handlers subsequently read the acting identity from the attacker-controlled JSON body without binding it to the verified signing key. Additionally, the signed Digest header is not recomputed against the received request body. A remote attacker who hosts a single valid ActivityPub actor and keypair can therefore submit signature-valid activities attributed to any actor identity they name.
— MITRE
Affected Software
Event History
Frequently Asked Questions
Which deployments are exposed?
Forgejo 13.0.0 through 16.0.4 is affected only when federation is enabled with [federation] ENABLED = true. The provided information does not establish whether federation is enabled by default.
What does an attacker need to exploit this issue?
An attacker needs to remotely host one valid ActivityPub actor and possess its keypair. They can then send activities with a valid request signature while naming a different actor identity in the activity body.
Does exploitation allow an attacker to take over accounts or modify content?
No. The issue affects identity integrity through actor spoofing, but the provided information states that it does not permit account takeover or content modification.