{"id":"CVE-2026-104627","state":"PUBLISHED","title":"Gitea OpenID account linking without session binding","description":"The Gitea OpenID association callback in the security settings accepted a positive OpenID 2.0 assertion without checking that the signed-in user had started the linking. Because OpenID 2.0 allows unsolicited assertions, an attacker-controlled OpenID provider could attach the attacker's identity to the account of a signed-in victim who opened a crafted link, and the attacker could then sign in as the victim through OpenID login, which does not apply the local TOTP or WebAuthn checks. The callback now requires a time-limited `state` value bound to the user.","publishedAt":"2026-10-18T18:51:06.543Z","updatedAt":"2026-10-19T20:20:15.460Z","severity":{"score":5.4,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N","source":"CISA-ADP"},"assigner":"Gitea","products":["Gitea Gitea"],"affected":[{"vendor":"Gitea","product":"Gitea","packageName":"gitea.dev","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"28.1.0","versionType":"semver"}]}],"references":["https://github.com/go-gitea/gitea/security/advisories/GHSA-mf69-7pqq-86vx","https://github.com/go-gitea/gitea/pull/39642","https://github.com/go-gitea/gitea/pull/39744","https://blog.gitea.com/release-of-28.2.0/","https://github.com/go-gitea/gitea/releases/tag/v28.2.0"],"weaknesses":["CWE-287","CWE-352"],"ingestedAt":"2026-10-29T20:10:23.711Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/104xxx/CVE-2026-104627.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-104627","state":"PUBLISHED","datePublished":"2026-10-18T18:51:06.543Z","dateUpdated":"2026-10-19T20:20:15.460Z","assignerShortName":"Gitea","assignerOrgId":"88ee5874-cf24-4952-aea0-31affedb7ff2","dateReserved":"2026-10-14T20:08:45.852Z"},"containers":{"cna":{"title":"Gitea OpenID account linking without session binding","descriptions":[{"lang":"en","value":"The Gitea OpenID association callback in the security settings accepted a positive OpenID 2.0 assertion without checking that the signed-in user had started the linking. Because OpenID 2.0 allows unsolicited assertions, an attacker-controlled OpenID provider could attach the attacker's identity to the account of a signed-in victim who opened a crafted link, and the attacker could then sign in as the victim through OpenID login, which does not apply the local TOTP or WebAuthn checks. The callback now requires a time-limited `state` value bound to the user."}],"affected":[{"vendor":"Gitea","product":"Gitea","packageName":"gitea.dev","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"28.1.0","versionType":"semver"}]}],"references":[{"url":"https://github.com/go-gitea/gitea/security/advisories/GHSA-mf69-7pqq-86vx","name":"GitHub Security Advisory GHSA-mf69-7pqq-86vx","tags":["vendor-advisory"]},{"url":"https://github.com/go-gitea/gitea/pull/39642","name":"Fix: go-gitea/gitea pull request #39642","tags":["patch"]},{"url":"https://github.com/go-gitea/gitea/pull/39744","name":"Fix backport to release/v28: go-gitea/gitea pull request #39744","tags":["patch"]},{"url":"https://blog.gitea.com/release-of-28.2.0/","name":"Gitea 28.2.0 release announcement","tags":["release-notes"]},{"url":"https://github.com/go-gitea/gitea/releases/tag/v28.2.0","name":"go-gitea/gitea v28.2.0 release","tags":["release-notes"]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-287","lang":"en","type":"CWE","description":"CWE-287: Improper Authentication"},{"cweId":"CWE-352","lang":"en","type":"CWE","description":"CWE-352: Cross-Site Request Forgery (CSRF)"}]}],"providerMetadata":{"shortName":"Gitea","orgId":"88ee5874-cf24-4952-aea0-31affedb7ff2","dateUpdated":"2026-10-18T18:51:06.543Z"},"credits":[{"lang":"en","value":"https://github.com/cyberlanc3r","type":"reporter"},{"lang":"en","value":"https://github.com/u2usvc","type":"reporter"},{"lang":"en","value":"https://github.com/wxiaoguang","type":"remediation developer"}]},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":5.4,"attackVector":"NETWORK","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N","integrityImpact":"LOW","userInteraction":"REQUIRED","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"LOW"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-10-19T20:20:04.646263Z","id":"CVE-2026-104627","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T20:20:15.460Z"}}]}}}