CVE Tools

CVE-2026-103059

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

No known exploitation. EPSS puts it in the 19th percentile. A vendor fix is available.

Published Updated Sources: CVE.org, NVD

What to do

The vendor has published a fix. Version details are below where the sources state them.

  • GiteaAffected: ≤ 1.27.3Upgrade to: after 1.27.3Stated by: CVE record

Versions as the sources state them. Full version matrix after sign-in

Steps

Written by AI from the record
  1. Check whether your Gitea instance has START_SSH_SERVER = true set — if it's disabled, you are not exposed.
  2. If enabled, treat this as urgent: any RSA key holder could impersonate another registered user over SSH.
  3. Upgrade Gitea to version 28.0.0 or later, which fixes this by matching keys via fingerprint instead of case-insensitive text.
  4. After upgrading, review recent SSH-based repository access for anything unexpected.

What it is

From the CVE record

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.

In plain language

Written by AI from the record

If you run Gitea's own SSH server, a flaw could let an attacker log in as someone else without a password — anyone using this self-hosted code server should update now.

Gitea's built-in SSH server matched uploaded public keys with a case-insensitive SQL LIKE lookup, letting an attacker who crafts a case-variant of a victim's RSA key (and holds the matching private key) authenticate as that user, bypassing SSH authentication entirely.

If you're affected

  • Source code theft
  • Account impersonation
  • Repository tampering or deletion
  • Full developer account takeover

Exploitation

Where each signal puts this CVE on the scale from published to confirmed exploited.

EPSS19th
CISA KEV

Not in the catalog. CISA has not confirmed exploitation.

Public exploits

No public exploit or proof of concept found in the sources we track.

EPSS

0.3% chance of exploitation activity in the next 30 days, which ranks it in the 19th percentile of scored CVEs.

Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.

Attention now

Rising, driven by in-the-wild reports.

Lifecycle

7 events over 16 days, from the signal feeds we watch.

  1. OpenVAS check added
  2. Patch availablerecord updated
  3. Record updated
  4. Publishedweakness classified, record updated

Affected products

And 1 more affected product. See all after sign-in

Technical detail

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Scored 9.1 by NVD.

How it is reached

  • Attack Vector NetworkExploitable remotely over the network without any special conditions
  • Attack Complexity LowNo special conditions — the attack can be reliably reproduced
  • Privileges Required NoneNo authentication required — anyone can exploit this
  • User Interaction NoneNo user interaction needed — fully automated exploitation

Scope

  • Scope UnchangedImpact is limited to the vulnerable component itself

Impact if exploited

  • Confidentiality HighTotal information disclosure — all data in the component is compromised
  • Integrity HighTotal loss of integrity — attacker can modify any data in the component
  • Availability NoneNo availability impact

Weaknesses

Sources

Watch the software you run.

My Stack ranks new CVEs for your products by real-world exploitation, so the next serious one reaches you without reading every advisory.

We'll flag the next CVE, public exploit or patch for Gitea, not every advisory.