<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 19:41:56 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-53552</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-53552</link>
      <description>&lt;p&gt;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&amp;#39;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&amp;#39;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&amp;#39;s working tree. At time of publication, there are no known publicly available patches.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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&amp;#39;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&amp;#39;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&amp;#39;s working tree. At time of publication, there are no known publicly available patches.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-53552</guid>
    </item>
    <item>
      <title>GHSA-26rh-24rg-j3vv — Goploy: Cross-namespace IDOR and RCE via body-supplied row id in project and project_file handlers</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-26rh-24rg-j3vv</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/zhenorzz/goploy&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`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&amp;#39;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&amp;#39;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&amp;#39;s working tree.&lt;/p&gt;
&lt;p&gt;### Affected&lt;/p&gt;
&lt;p&gt;`zhenorzz/goploy` `develop` HEAD as of 2026-05-27. Verified against the `zhenorzz/goploy:1.17.5` Docker image (`docker.io/zhenorzz/goploy@sha256:69d08e1d16d7a7167426c89456c4bcef8e077a16554a4067ff258fff26d5cd44`).&lt;/p&gt;
&lt;p&gt;The four handlers and the model lookups have been in this shape across the file API and project metadata API.&lt;/p&gt;
&lt;p&gt;### Vulnerable code&lt;/p&gt;
&lt;p&gt;`cmd/server/api/project/handler.go::AddFile` (creates file under any project&amp;#39;s directory; body controls `projectId`):&lt;/p&gt;
&lt;p&gt;```go
func (Project) AddFile(gp *server.Goploy) server.Response {
    type ReqData struct {
        ProjectID int64  `json:&amp;#34;projectId&amp;#34; validate:&amp;#34;required,gt=0&amp;#34;`
        Content   string `json:&amp;#34;content&amp;#34; validate:&amp;#34;required&amp;#34;`…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/zhenorzz/goploy&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`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&amp;#39;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&amp;#39;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&amp;#39;s working tree.&lt;/p&gt;
&lt;p&gt;### Affected&lt;/p&gt;
&lt;p&gt;`zhenorzz/goploy` `develop` HEAD as of 2026-05-27. Verified against the `zhenorzz/goploy:1.17.5` Docker image (`docker.io/zhenorzz/goploy@sha256:69d08e1d16d7a7167426c89456c4bcef8e077a16554a4067ff258fff26d5cd44`).&lt;/p&gt;
&lt;p&gt;The four handlers and the model lookups have been in this shape across the file API and project metadata API.&lt;/p&gt;
&lt;p&gt;### Vulnerable code&lt;/p&gt;
&lt;p&gt;`cmd/server/api/project/handler.go::AddFile` (creates file under any project&amp;#39;s directory; body controls `projectId`):&lt;/p&gt;
&lt;p&gt;```go
func (Project) AddFile(gp *server.Goploy) server.Response {
    type ReqData struct {
        ProjectID int64  `json:&amp;#34;projectId&amp;#34; validate:&amp;#34;required,gt=0&amp;#34;`
        Content   string `json:&amp;#34;content&amp;#34; validate:&amp;#34;required&amp;#34;`…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-26rh-24rg-j3vv</guid>
    </item>
  </channel>
</rss>
