CyberRota Analysis
AI-GeneratedVersions 1.17.5 and earlier of the Goploy automation deployment system are vulnerable due to insufficient namespace checks in several project-related API functions, allowing users with manager or similar roles to manipulate files across all projects. This flaw can lead to unauthorized file access, modification, and even remote code execution through malicious git remote URL changes during deployment. Organizations using Goploy should prioritize addressing this vulnerability, especially those with sensitive deployments or extensive project management needs, as there are currently no available patches.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Goploy is an open-source automation deployment system. In versions 1.17.5 and prior, Project.AddFile, Project.EditFile, Project.RemoveFile, and Project.Edit in cmd/server/api/project/handler.go accept a project or project-file row id from the JSON body and act on it without checking that the project belongs to the caller's namespace. The corresponding model.ProjectFile.GetData and model.Project.GetData queries filter only by row id. A user holding the manager role (or any role that includes the FileSync / EditProject permission) in their own namespace can read, write, or delete files in any project across the install, and can rewrite any project's git remote URL by submitting the foreign id in the body. The git-URL primitive escalates to RCE on the next deploy because Edit runs git remote set-url on the project's working tree. At time of publication, there are no known publicly available patches.