Gitea SSH certificate principal lets users impersonate other users
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- High
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA. Impact type from CWE-287.
Summary
Gitea through 28.1.0 resolves SSH certificate principals by searching the content of all stored public keys instead of only principal keys. When Gitea trusts a user certificate authority and accepts arbitrary principals, a user can register another user's public key line as their own principal, or a holder of a certificate signed by that authority can list it, and then authenticate as the key's owner through the HTTP signature API and the built-in SSH server. Instances that do not trust a user certificate authority are not affected. This is CWE-287, Improper Authentication.
Written with Claude Haiku 5.5 from the sources below · 2026-11-02
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
The sources list no fixed version for Gitea.
Written with Claude Haiku 5.5 from the sources below · 2026-11-02
Timeline
- 2026-10-18 Threatist record created from CVE-2026-109553
- 2026-10-20 CVSS score added · CISA ADP
- 2026-10-20 CISA SSVC decision points changed
- 2026-11-02 Weakness changed · CISA ADP
References
More Gitea vulnerabilities
- TI-2026-42785 Gitea before 1.27.1 allows remote code execution via the diffpatch API through Git hook installation. KEVCVSS 3.1CRITICAL 9.8
- TI-2026-42033 Improper authorization on OAuth sign-in callback silently re-enables administrator-disabled accounts CVSS 3.1CRITICAL 9.8
- TI-2026-40842 Privilege Escalation via Access Token Scope Escalation in API CVSS 3.1CRITICAL 9.8
- TI-2026-16922 Gitea Docker image trusts spoofable reverse-proxy headers by default CVSS 3.1CRITICAL 9.8
- TI-2026-42043 Team-repository linking endpoint bypasses the RepoAdminChangeTeamAccess organization setting CVSS 3.1CRITICAL 9.1
- TI-2026-40381 OIDC userinfo Endpoint Returns Identity Claims Without Enforcing API Token Scopes CVSS 3.1CRITICAL 9.1
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences