CVE-2024-56731: Gogs deletion of internal files allows remote command execution
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 RUNUSER in the configuration. It allows attackers to access and alter any users' code hosted on the same instance.
Other sources
Gogs is an open source self-hosted Git service. Prior to version 0.13.3, it's still possible to delete files under the .git directory and achieve remote command execution due to an insufficient patch for CVE-2024-39931. Unprivileged user accounts can execute arbitrary commands on the Gogs instance with the privileges of the account specified by RUNUSER in the configuration. Allowing attackers to access and alter any users' code hosted on the same instance. This issue has been patched in version 0.13.3.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-56731?
CVE-2024-56731 has a critical severity level due to the potential for remote command execution.
How do I fix CVE-2024-56731?
To mitigate CVE-2024-56731, upgrade to Gogs version 0.13.3 or later.
Who is affected by CVE-2024-56731?
Unprivileged user accounts of Gogs versions prior to 0.13.3 are vulnerable to CVE-2024-56731.
What can attackers do exploiting CVE-2024-56731?
Attackers can execute arbitrary commands remotely on vulnerable Gogs installations.
What underlying issue does CVE-2024-56731 address?
CVE-2024-56731 addresses insufficient patching related to file deletion in the .git directory.