CVE-2026-53552
KrytyczneCVSS 9.6Streszczenie
Goploy w wersjach do 1.17.5 nie sprawdza, czy projekt należy do przestrzeni nazw wywołującego użytkownika podczas operacji na plikach i edycji projektu. Użytkownik z rolą menedżera może czytać, pisać lub usuwać pliki w dowolnym projekcie oraz zmieniać adres URL zdalnego repozytorium git, co prowadzi do zdalnego wykonania kodu przy następnym wdrożeniu.
Ocena ryzyka
Atakujący może uzyskać pełną kontrolę nad systemem wdrożeniowym, modyfikować projekty i wykonywać dowolny kod na serwerze.
Rekomendacja
Zaktualizuj Goploy do najnowszej wersji, gdy tylko dostępna będzie poprawka. Ogranicz dostęp do ról menedżerskich i monitoruj aktywność API.
Inne podatności w Goploy
Oryginalny opis (angielski, źródło NVD)
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.

