{"api_version":"1","generated_at":"2026-10-17T17:37:12+00:00","cve":"CVE-2026-73804","urls":{"html":"https://cve.report/CVE-2026-73804","api":"https://cve.report/api/cve/CVE-2026-73804.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-73804","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-73804"},"summary":{"title":"Gitea API token scope escalation through HTTP signatures","description":"Gitea allows a token with write:user scope to register an attacker-controlled SSH public key on the token owner's account. API requests signed with the corresponding private key authenticate as that account through HTTP Signature without API token scope information, causing route-level token scope checks to be skipped. This converts a user-scoped token into an unscoped API authentication method while retaining the account's normal role and repository permissions.","state":"PUBLISHED","assigner":"Gitea","published_at":"2026-10-14 15:17:24","updated_at":"2026-10-14 16:04:39"},"problem_types":["CWE-266","CWE-863","CWE-266 CWE-266: Incorrect Privilege Assignment","CWE-863 CWE-863: Incorrect Authorization"],"metrics":[],"references":[{"url":"https://github.com/go-gitea/gitea/security/advisories/GHSA-q55v-4cmj-xh65","name":"https://github.com/go-gitea/gitea/security/advisories/GHSA-q55v-4cmj-xh65","refsource":"88ee5874-cf24-4952-aea0-31affedb7ff2","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://blog.gitea.com/release-of-1.27.2/","name":"https://blog.gitea.com/release-of-1.27.2/","refsource":"88ee5874-cf24-4952-aea0-31affedb7ff2","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/go-gitea/gitea/pull/38895","name":"https://github.com/go-gitea/gitea/pull/38895","refsource":"88ee5874-cf24-4952-aea0-31affedb7ff2","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/go-gitea/gitea/releases/tag/v1.27.2","name":"https://github.com/go-gitea/gitea/releases/tag/v1.27.2","refsource":"88ee5874-cf24-4952-aea0-31affedb7ff2","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/go-gitea/gitea/pull/38862","name":"https://github.com/go-gitea/gitea/pull/38862","refsource":"88ee5874-cf24-4952-aea0-31affedb7ff2","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-73804","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-73804","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Gitea","product":"Gitea","version":"affected 1.26.4 semver","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"https://github.com/ohxorud-dev","lang":"en"},{"source":"CNA","value":"https://github.com/bircni","lang":"en"},{"source":"CNA","value":"https://github.com/lunny","lang":"en"},{"source":"CNA","value":"https://github.com/delvh","lang":"en"},{"source":"CNA","value":"https://github.com/wxiaoguang","lang":"en"},{"source":"CNA","value":"https://github.com/TheFox0x7","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","packageName":"gitea.dev","product":"Gitea","vendor":"Gitea","versions":[{"lessThanOrEqual":"1.26.4","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"reporter","value":"https://github.com/ohxorud-dev"},{"lang":"en","type":"coordinator","value":"https://github.com/bircni"},{"lang":"en","type":"remediation reviewer","value":"https://github.com/lunny"},{"lang":"en","type":"remediation reviewer","value":"https://github.com/delvh"},{"lang":"en","type":"remediation developer","value":"https://github.com/wxiaoguang"},{"lang":"en","type":"coordinator","value":"https://github.com/TheFox0x7"}],"descriptions":[{"lang":"en","value":"Gitea allows a token with write:user scope to register an attacker-controlled SSH public key on the token owner's account. API requests signed with the corresponding private key authenticate as that account through HTTP Signature without API token scope information, causing route-level token scope checks to be skipped. This converts a user-scoped token into an unscoped API authentication method while retaining the account's normal role and repository permissions."}],"problemTypes":[{"descriptions":[{"cweId":"CWE-266","description":"CWE-266: Incorrect Privilege Assignment","lang":"en","type":"CWE"},{"cweId":"CWE-863","description":"CWE-863: Incorrect Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-14T14:38:00.292Z","orgId":"88ee5874-cf24-4952-aea0-31affedb7ff2","shortName":"Gitea"},"references":[{"name":"GitHub Security Advisory GHSA-q55v-4cmj-xh65","tags":["vendor-advisory"],"url":"https://github.com/go-gitea/gitea/security/advisories/GHSA-q55v-4cmj-xh65"},{"name":"Gitea 1.27.2 release announcement","tags":["release-notes"],"url":"https://blog.gitea.com/release-of-1.27.2/"},{"name":"Fix: go-gitea/gitea pull request #38862","tags":["patch"],"url":"https://github.com/go-gitea/gitea/pull/38862"},{"name":"Fix: go-gitea/gitea pull request #38895","tags":["patch"],"url":"https://github.com/go-gitea/gitea/pull/38895"},{"name":"go-gitea/gitea v1.27.2 release","tags":["release-notes"],"url":"https://github.com/go-gitea/gitea/releases/tag/v1.27.2"}],"title":"Gitea API token scope escalation through HTTP signatures"}},"cveMetadata":{"assignerOrgId":"88ee5874-cf24-4952-aea0-31affedb7ff2","assignerShortName":"Gitea","cveId":"CVE-2026-73804","datePublished":"2026-10-14T14:38:00.292Z","dateReserved":"2026-08-13T16:50:59.187Z","dateUpdated":"2026-10-14T14:38:00.292Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-14 15:17:24","lastModifiedDate":"2026-10-14 16:04:39","problem_types":["CWE-266","CWE-863","CWE-266 CWE-266: Incorrect Privilege Assignment","CWE-863 CWE-863: Incorrect Authorization"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"73804","Ordinal":"1","Title":"Gitea API token scope escalation through HTTP signatures","CVE":"CVE-2026-73804","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"73804","Ordinal":"1","NoteData":"Gitea allows a token with write:user scope to register an attacker-controlled SSH public key on the token owner's account. API requests signed with the corresponding private key authenticate as that account through HTTP Signature without API token scope information, causing route-level token scope checks to be skipped. This converts a user-scoped token into an unscoped API authentication method while retaining the account's normal role and repository permissions.","Type":"Description","Title":"Gitea API token scope escalation through HTTP signatures"}]}}}