Skip to content
Heist/ feed
Back to feed
Critical

Gitea built-in SSH server authentication bypass through key case folding

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-103059
Confirmed fixed CVEs
Not specified
Updated in this feed
6 Nov 2026, 00:26 UTC · Revision 1

Source evidence

Gitea built-in SSH server authentication bypass through key case folding

core-osv · Original source

Published 6 Oct 2026, 19:22 UTC

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.

osv:CVE-2026-103059
Complete source record
{
  "id": "13e0685b2803ec75a9dce78bdb83adccd923b8357154e45a519632d08c9aaa3c",
  "url": "https://osv.dev/vulnerability/CVE-2026-103059",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Gitea built-in SSH server authentication bypass through key case folding",
    "summary": "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.",
    "evidence": "osv:CVE-2026-103059",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-103059",
      "aliases": [
        "BIT-gitea-2026-103059",
        "CVE-2026-103059",
        "GHSA-8pwg-hcgm-54cp"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/go-gitea/gitea",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "15b8a5805adf57c5189602008d38cccfd3c795e0"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "28.0.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "15b8a5805adf57c5189602008d38cccfd3c795e0"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v28.0.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v29.0.0-dev",
            "v1.28.0-dev",
            "v1.27.0-dev",
            "v1.26.0-dev",
            "v1.25.0-dev",
            "v1.24.0-dev",
            "v1.22.0-rc1",
            "v1.23.0-dev",
            "v1.22.0-rc0",
            "v1.21.0-rc0",
            "v1.22.0-dev",
            "v1.20.0-rc0",
            "v1.21.0-dev",
            "v1.20.0-dev",
            "v1.19.0-rc0",
            "v1.18.0-rc0",
            "v1.19.0-dev",
            "v1.18.0-dev",
            "v1.17.0-dev",
            "v1.16.0-rc1",
            "v1.15.0-rc1",
            "v1.16.0-dev",
            "v1.15.0-dev",
            "v1.14.0-dev",
            "v1.13.0-dev",
            "v1.12.0-dev",
            "v1.10.5",
            "v1.11.0-rc1",
            "v1.10.0-rc1",
            "v1.11.0-dev",
            "v1.9.0-rc1",
            "v1.10.0-dev",
            "v1.9.0-dev",
            "v1.7.0-dev",
            "v1.6.0-rc1",
            "v1.6.0-dev",
            "v1.5.0-rc1",
            "v1.5.0-dev",
            "v1.1.0",
            "v1.0.0",
            "v0.9.99"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-103059.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:45.416733463Z",
      "provider": "osv",
      "references": [
        "https://blog.gitea.com/release-of-28.0.0/",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103059.json",
        "https://github.com/go-gitea/gitea/releases/tag/v28.0.0",
        "https://github.com/go-gitea/gitea/security/advisories/GHSA-8pwg-hcgm-54cp",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-103059",
        "https://github.com/go-gitea/gitea/pull/39423"
      ],
      "provider_metadata": {
        "cna_assigner": "Gitea",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/103xxx/CVE-2026-103059.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-103059",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 513474,
  "published_at": "2026-10-06T19:22:57.192+00:00"
}