Gitea SSH certificate principal impersonation of other users
What fixes it
- 28.2.0gitea.dev, goGitHub
go get gitea.dev@v28.2.0
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Gitea resolved the principals of an SSH certificate by searching the content of all stored public keys instead of only principal keys. When Gitea trusts a user certificate authority (SSH_TRUSTED_USER_CA_KEYS) and accepts arbitrary principals (SSH_AUTHORIZED_PRINCIPALS_ALLOW=anything), a user could register another user's public key line as their own principal, or a holder of a certificate signed by that authority could list it, and then authenticate as the owner of that key through the HTTP signature API and the built-in SSH server. Instances that do not trust a user certificate authority are not affected.
Text from CVE List
Affected versions 2
- Giteaaffected: all versions through 28.1.0CVE List
- gitea.dev, go<= 28.1.0GitHub
References 5
- github.com/go-gitea/gitea/pull/39839Fixvia CVE List
- github.com/go-gitea/gitea/pull/39847Fixvia CVE List
- github.com/go-gitea/gitea/releases/tag/v28.2.0Fixvia CVE List
- github.com/go-gitea/gitea/security/advisories/GHSA-vcp6-2qc6-gvq3Advisoryvia CVE List
- blog.gitea.com/release-of-28.2.0/Referencevia CVE List