🛡️ CVE-2026-53553 — goploy

🟠 CVSS 8.0 — High ✅ No Known Exploit CWE-200 OSV
8.0
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

Goploy: Arbitrary File Read via Path Traversal in /deploy/fileDiff allows Remote Server Compromise

> [ Click here to jump to the Simplified Chinese version (点击跳转到简体中文版本)](#goploy-系统任意文件读取)

# Goploy System Arbitrary File Read Vulnerability

Basic Information

  • Vulnerability Name: Goploy Endpoints Arbitrary File Read via Path Traversal
  • Vulnerability Type: Path Traversal (CWE-22) / Arbitrary File Read
  • Affected Product: Goploy
  • Severity Level: High (CVSS V3 7.7)
  • Known Affected Versions: <=1.17.5

Vulnerability Description

Goploy is an open-source automation deployment system. A severe path traversal vulnerability exists in its backend API endpoints, specifically /deploy/fileDiff (File Compare), when handling file paths provided by the client.

The original logic of this endpoint is to read a local project file and compare it with a file on a remote target server. However, due to insufficient validation and sanitization of the filePath parameter, and the lack of security constraints on the final absolute file path, malicious paths containing ../ are directly executed within the system.

This leads to a dual arbitrary file read issue:

1. Local Host File Read: os.ReadFile is tricked by the directory traversal payload to read any file via its absolute path on the Goploy local host (returned in the srcText field of the response body).

2. Remote Controlled Server File Read: Subsequently, the same payload is utilized via the SFTP protocol on the target server pointed to by the serverID. Influenced similarly by the directory traversal, it reads any file on the configured remote server (returned in the distText field of the response body).

The threshold for exploiting this vulnerability is extremely low, and the conditions are very easily met. The system comes with a built-in member role upon default installation, which is granted the "File Compare" permission by default. This means that as long as a normal low-privileged user is added to the system, they inherently possess the basic privileges required to call the vulnerable endpoint. The only prerequisite for the attack is that at least one project and one associated server are configured in the system.

An attacker only needs to specify the correct namespace header (e.g., G-N-ID: 1) via a packet capture tool to bypass simple restrictions. By enumerating available serverId parameters, the attacker can successfully execute path traversal via this endpoint, reading arbitrary files on both the local Goploy host and all remote target servers managed by Goploy.

Steps to Reproduce (Proof of Concept)

Theoretical Steps (See concrete steps below)

1. Obtain Normal User Privileges

Log in to the system using any registered low-privileged account to obtain valid authentication credentials (Cookie/Token) and its corresponding authorized Namespace ID.

2. Construct Malicious Request

Send a POST request containing the directory traversal characters ../ to the target endpoint /deploy/fileDiff, while including the G-N-ID header.

PoC Example (Reading /etc/passwd and enumerating serverId):

```bash

curl -s -X POST -b "goploy_token=<valid_cookie>" \

-H "Content-Type: application/json" \

-H "G-N-ID: 1" \

-d '{"projectId":1,"serverId":1,"filePath":"../../../../../../../../../../etc/passwd"}' \

"http://<target-host>/deploy/fileDiff"

```

3. Reproduction Result

The server will return the complete contents of the /etc/passwd file from both the host and the remote server.

Concrete Steps

1. Environment Setup

Published an arbitrary project using the super admin account:

<img width="1919" height="428" alt="image" src="https://github.com/user-attachments/assets/8618a038-9088-45b4-804a-5541e243c6a8" />

Configured two managed remote servers:

<img width="1896" height="399" alt="image-1(1)" src="https://github.com/user-attachments/assets/89cfa086-d20b-448e-9cf7-1af5798e3cfe" />

Created a normal user and assigned the member role (which includes File Compare permission):

<img width="1910" height="343" alt="image-2" src="https://github.com/user-attachments/assets/b8dda364-c23d-4496-a555-ff477c511d31" />

<img width="951" height="364" alt="image-3" src="https://github.com/user-attachments/assets/0e20cbed-7341-484c-b0a7-0fcd6ca2fea6" />

2. Obtain Normal User Privileges

Log in to the system using the registered test account to obtain valid authentication credentials (Cookie/Token).

<img width="1916" height="712" alt="image-4(1)" src="https://github.com/user-attachments/assets/a269b79f-a666-4f3a-95c4-40621e1fbbc2" />

3. Execute poc.py (See below)

  • Parameter Explanation:

-u : Target URL

-t : Target Cookie/Token to use

-f : File to read

-s : ID of the managed server to read from

  • **Reading from the first managed

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs low-level privileges on the target. No user interaction is required. The scope is changed, meaning a successful attack can affect components beyond the vulnerable one. Rated impact: confidentiality high, integrity none, availability none.

Weakness class

CVE-2026-53553 is classified as CWE-200: Exposure of Sensitive Information. Information that should stay internal is disclosed to someone who is not authorised to see it.

Affected software

CVE-2026-53553 is recorded against 1 package.

  • github.com/zhenorzz/goploy

Timeline and source

Published on 7 July 2026 and last revised on 21 July 2026. No public exploit is currently recorded for this entry. Record sourced from OSV.

References

github.com (Web)
github.com (Package)

Details

Severity HIGH
CVSS Score 8.0
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
CWE CWE-200
Public Exploit ✅ No
Source OSV
Published 2026-07-07
Updated 2026-08-12
Modified 2026-07-21
Fix URL N/A

Affected Packages

Software From version Fixed in
github.com/zhenorzz/goploy

Similar Threats

Site Security Check

Is goploy part of your stack?

CVE-2026-53553 is rated CVSS 8.0 High. BotEraser scans your installation against known CVE records and tells you whether this vulnerability applies to the versions you actually run.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.