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.
Published: 2026-08-31
Score: 9.6 Critical
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In Goploy releases 1.17.5 and earlier, several project file handlers accept a row identifier supplied in the JSON body and perform file operations without verifying that the requested row belongs to the caller’s namespace. A privileged user with the Manager role or any role granting FileSync / EditProject permissions can read, write, delete, or overwrite files in any project across the entire installation. By altering a project's remote git URL through the same interface, the attacker triggers a ‘git remote set-url’ command during the next deployment, allowing arbitrary code execution on the deployment host. This vulnerability is a classic IDOR (CWE-639) that also results in sensitive data exposure (CWE-863).

Affected Systems

The product affected is Goploy, maintained by the zhenorzz project, in all versions up to and including 1.17.5. Users with elevated namespace permissions who can invoke the Project.AddFile, Project.EditFile, Project.RemoveFile, or Project.Edit handlers are at risk.

Risk and Exploitability

The CVSS score of 9.6 marks the flaw as critical. Although no EPSS score is available, the complexity of the exploit is low for anyone with the requisite role, and the impact is global across the installation. The vulnerability is not listed in CISA’s KEV catalog, but its RCE potential and the breadth of access it grants make it a high‑risk vector should an attacker acquire the necessary permissions.

Generated by OpenCVE AI on August 31, 2026 at 20:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Goploy to the latest released version that addresses the IDOR flaw or apply any vendor patch when it becomes available.
  • Revoke FileSync and EditProject permissions from all non‑trusted accounts and limit manager privileges to the smallest set of users required.
  • Enforce strict validation of the git remote URL parameter or disable the ability to change remote URLs until the vulnerability is fixed.
  • Consider network segmentation or firewall rules to restrict access to the project file API endpoints to trusted internal hosts.

Generated by OpenCVE AI on August 31, 2026 at 20:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-26rh-24rg-j3vv Goploy: Cross-namespace IDOR and RCE via body-supplied row id in project and project_file handlers
History

Mon, 31 Aug 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Zhenorzz
Zhenorzz goploy
Vendors & Products Zhenorzz
Zhenorzz goploy

Mon, 31 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
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.
Title Goploy: Cross-namespace IDOR and RCE via body-supplied row id in project and project_file handlers
Weaknesses CWE-639
CWE-863
References
Metrics cvssV3_1

{'score': 9.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-31T18:46:41.957Z

Reserved: 2026-06-09T18:13:07.263Z

Link: CVE-2026-53552

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-31T19:16:50.880

Modified: 2026-08-31T19:16:50.880

Link: CVE-2026-53552

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T21:20:27Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key

  • CWE-863

    Incorrect Authorization