GitHub Advisoryadvisory · Go

GHSA-wj44-9vcg-wjq7 Gogs allows deletion of internal files which leads to remote command execution

CRITICAL Published 2025-06-24 Modified 2025-06-24 Official page ↗
Aliases
CVE-2024-56731
Ecosystem
Go
Packages
gogs.io/gogs
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Weaknesses
CWE-552
Reviewed
2025-06-24

Affected packages

• Go gogs.io/gogs: < 0.13.3 → fixed in 0.13.3

Description

Summary Due to the insufficient patch for the CVE-2024-39931, it's still possible to delete files under the `.git` directory and achieve remote command execution. Details In the patch for CVE-2024-39931, the following check is added: https://github.com/gogs/gogs/commit/77a4a945ae9a87f77e392e9066b560edb71b5de9 ```diff + // 🚨 SECURITY: Prevent uploading files into the ".git" directory + if isRepositoryGitPath(opts.TreePath) { + return errors.Errorf("bad tree path %q", opts.TreePath) + } ``` While the above code snippet checks if the specified path is a `.git` directory, there are no checks for symbolic links in the later steps. So, by creating a symbolic link that points to the `.git` directory, an attacker can still delete arbitrary files in the `.git` directory and achieve remote command execution. Impact Unprivileged user accounts can execute arbitrary commands on the Gogs instance with the privileges of the account specified by `RUN_USER` in the configuration. It allows attackers to access and alter any users' code hosted on the same instance.

Related

Alias · CVE (1)

  • CVE-2024-56731 Gogs is an open source self-hosted Git service. vulnerability

Weakness · CWE (1)

  • CWE-552 Files or Directories Accessible to External Parties weakness

References