{"api_version":"1","generated_at":"2026-10-06T21:46:58+00:00","cve":"CVE-2026-103059","urls":{"html":"https://cve.report/CVE-2026-103059","api":"https://cve.report/api/cve/CVE-2026-103059.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-103059","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-103059"},"summary":{"title":"Gitea built-in SSH server authentication bypass through key case folding","description":"When Gitea's built-in SSH server is enabled (`START_SSH_SERVER = true`), the presented public key was looked up with an SQL `LIKE` comparison of its encoded content, which is case-insensitive on some databases, including the default SQLite. An attacker who can construct a case variant of another user's registered RSA public key for which they can derive the private key could have that key matched to the victim's account and authenticate over SSH as that user. Keys are now looked up by fingerprint.","state":"PUBLISHED","assigner":"Gitea","published_at":"2026-10-06 20:17:14","updated_at":"2026-10-06 20:17:14"},"problem_types":[],"metrics":[],"references":[{"url":"https://github.com/go-gitea/gitea/releases/tag/v28.0.0","name":"https://github.com/go-gitea/gitea/releases/tag/v28.0.0","refsource":"88ee5874-cf24-4952-aea0-31affedb7ff2","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/go-gitea/gitea/pull/39423","name":"https://github.com/go-gitea/gitea/pull/39423","refsource":"88ee5874-cf24-4952-aea0-31affedb7ff2","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/go-gitea/gitea/security/advisories/GHSA-8pwg-hcgm-54cp","name":"https://github.com/go-gitea/gitea/security/advisories/GHSA-8pwg-hcgm-54cp","refsource":"88ee5874-cf24-4952-aea0-31affedb7ff2","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://blog.gitea.com/release-of-28.0.0/","name":"https://blog.gitea.com/release-of-28.0.0/","refsource":"88ee5874-cf24-4952-aea0-31affedb7ff2","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-103059","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-103059","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Gitea","product":"Gitea","version":"affected 1.27.3 semver","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"https://github.com/carlini","lang":"en"},{"source":"CNA","value":"https://github.com/TheFox0x7","lang":"en"},{"source":"CNA","value":"https://github.com/wxiaoguang","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.27.3","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"reporter","value":"https://github.com/carlini"},{"lang":"en","type":"remediation developer","value":"https://github.com/TheFox0x7"},{"lang":"en","type":"remediation developer","value":"https://github.com/wxiaoguang"}],"descriptions":[{"lang":"en","value":"When Gitea's built-in SSH server is enabled (`START_SSH_SERVER = true`), the presented public key was looked up with an SQL `LIKE` comparison of its encoded content, which is case-insensitive on some databases, including the default SQLite. An attacker who can construct a case variant of another user's registered RSA public key for which they can derive the private key could have that key matched to the victim's account and authenticate over SSH as that user. Keys are now looked up by fingerprint."}],"providerMetadata":{"dateUpdated":"2026-10-06T19:22:57.192Z","orgId":"88ee5874-cf24-4952-aea0-31affedb7ff2","shortName":"Gitea"},"references":[{"name":"GitHub Security Advisory GHSA-8pwg-hcgm-54cp","tags":["vendor-advisory"],"url":"https://github.com/go-gitea/gitea/security/advisories/GHSA-8pwg-hcgm-54cp"},{"name":"Fix: go-gitea/gitea pull request #39423","tags":["patch"],"url":"https://github.com/go-gitea/gitea/pull/39423"},{"name":"Gitea 28.0.0 release announcement","tags":["release-notes"],"url":"https://blog.gitea.com/release-of-28.0.0/"},{"name":"go-gitea/gitea v28.0.0 release","tags":["release-notes"],"url":"https://github.com/go-gitea/gitea/releases/tag/v28.0.0"}],"title":"Gitea built-in SSH server authentication bypass through key case folding"}},"cveMetadata":{"assignerOrgId":"88ee5874-cf24-4952-aea0-31affedb7ff2","assignerShortName":"Gitea","cveId":"CVE-2026-103059","datePublished":"2026-10-06T19:22:57.192Z","dateReserved":"2026-10-04T21:57:35.559Z","dateUpdated":"2026-10-06T19:22:57.192Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-06 20:17:14","lastModifiedDate":"2026-10-06 20:17:14","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"103059","Ordinal":"1","Title":"Gitea built-in SSH server authentication bypass through key case","CVE":"CVE-2026-103059","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"103059","Ordinal":"1","NoteData":"When Gitea's built-in SSH server is enabled (`START_SSH_SERVER = true`), the presented public key was looked up with an SQL `LIKE` comparison of its encoded content, which is case-insensitive on some databases, including the default SQLite. An attacker who can construct a case variant of another user's registered RSA public key for which they can derive the private key could have that key matched to the victim's account and authenticate over SSH as that user. Keys are now looked up by fingerprint.","Type":"Description","Title":"Gitea built-in SSH server authentication bypass through key case"}]}}}