Vulnerability advisory

CVE-2025-64175

Gogs Vulnerable to 2FA Bypass via Recovery Code

Published Updated OSV record ↗

Also known as GHSA-p6x6-9mx6-26wjGO-2026-4449

Severity
  • CVSS 4.0CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Affected versions

Repository

Affected commitsFixed by commit
GIT github.com/gogs/gogs ↗
All commits before d958a47a0e9d8747e399c687fdb3ec64a3b1a736d958a47a0e9d8747e399c687fdb3ec64a3b1a736
Also listed as affected (63)
  • < 0.14.0+dev
  • v0.13.4-rc.1
  • v0.13.3-rc.1
  • v0.13.3
  • v0.13.2-rc.1
  • v0.13.2
  • v0.13.1-rc.1
  • v0.13.1
  • v0.13.0-rc.1
  • v0.13.0
  • v0.11.91
  • v0.11.86
  • v0.11.79
  • v0.11.66
  • v0.11.53
  • v0.11.43
  • v0.11.34
  • v0.11.33
  • v0.11.29
  • v0.11.19
  • v0.11.4
  • v0.11
  • v0.11rc
  • v0.10.18
  • v0.10.8
  • v0.10
  • v0.10rc
  • v0.9.141
  • v0.9.128
  • v0.9.113
  • v0.9.97
  • v0.9.71
  • v0.9.60
  • v0.9.48
  • v0.9.46
  • v0.9.13
  • v0.9.0
  • v0.8.43
  • v0.8.25
  • v0.8.10
  • v0.8.0
  • v0.7.33
  • v0.7.22
  • v0.7.19
  • v0.7.6
  • v0.7.0
  • v0.6.15
  • v0.6.9
  • v0.6.3
  • v0.6.1
  • v0.5.13
  • v0.5.11
  • v0.5.9
  • v0.5.8
  • v0.5.5
  • v0.5.2
  • v0.5.0
  • v0.4.2
  • v0.4.1
  • v0.4.0
  • v0.3.1
  • v0.3.0
  • v0.2.0

Description

Gogs is an open source self-hosted Git service. In version 0.13.3 and prior, Gogs’ 2FA recovery code validation does not scope codes by user, enabling cross-account bypass. If an attacker knows a victim’s username and password, they can use any unused recovery code (e.g., from their own account) to bypass the victim’s 2FA. This enables full account takeover and renders 2FA ineffective in all environments where it's enabled.. This issue has been patched in versions 0.13.4 and 0.14.0+dev.

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools