Vulnerability advisory

CVE-2022-1884

Remote Command Execution in gogs/gogs

Published Updated OSV record ↗

Also known as GHSA-958j-443g-7mm7GO-2022-0749

Severity
  • CVSS 3.xCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Affected versions

Repository

Affected commitsFixed by commit
GIT github.com/gogs/gogs ↗
All commits through d06ba7e527fcc462aecdb660ce001e87d94f024cNo fix listed
Also listed as affected (65)
  • v0.12.7-rc.1
  • v0.12.7
  • v0.12.6-rc.1
  • v0.12.6
  • v0.12.5-rc.1
  • v0.12.5
  • v0.12.4-rc.1
  • v0.12.4
  • v0.12.3
  • v0.12.2
  • v0.12.1
  • v0.12.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

A remote command execution vulnerability exists in gogs/gogs versions <=0.12.7 when deployed on a Windows server. The vulnerability arises due to improper validation of the tree_path parameter during file uploads. An attacker can set tree_path=.git. to upload a file into the .git directory, allowing them to write or rewrite the .git/config file. If the core.sshCommand is set, this can lead to remote command execution.

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