GHSA-phv8-wgjp-g4p9: Path Traversal
The FTP and FTPS server -- if enabled -- would allow uploading to any folder that the copyparty process had permission to write to.
The FTP-server is default-disabled, and must be explicitly enabled in the config with global-option ftp or ftps to be affected. Additionally, SFTP was not affected at all; only FTP and FTPS.
This was not a full read/write path-traversal; it had the following limitations: Only applied to uploads; it was not possible to read/download existing files in this manner. The output filename was not fully controllable; a randomized suffix would always be appended to the filename. Existing files could not be overwritten or appended to; only new files could be created. Filesystem-permissions would prevent writing to system folders, as copyparty surely does not run as root in most deployments. Copyparty itself will not execute arbitrary files as code by default, so this vulnerability could not be used to execute arbitrary code through copyparty.
The main concern is the potential effect on other unrelated software which is running on the same system.
The severity is assuming the worst case (SC:H/SI:H), that the same machine is running some unrelated software that will execute new arbitrarily-named files as code, and that the copyparty process has sufficient privileges to write files into the config-folder of that unrelated software.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/copypartyto a version that resolves this vulnerability.Fixed in 1.20.19 - Configuration
Keep the FTP and FTPS servers disabled; do not enable the global-option `ftp` or `ftps` unless required.
copyparty FTP/FTPS server global-option ftp or ftps = disabled
Event History
Frequently Asked Questions
Which deployments are exposed?
Only copyparty deployments with the FTP or FTPS server explicitly enabled using the global ftp or ftps option are affected. The FTP server is disabled by default, and SFTP is not affected.
What would an attacker need to exploit this?
An attacker would need access to use the enabled FTP or FTPS upload service. Exploitation is limited to creating new uploaded files in locations writable by the copyparty process.
What are the practical limits of the file-write impact?
The issue affects uploads only: it cannot be used to read or download existing files. Uploaded filenames receive a randomized suffix, existing files cannot be overwritten or appended to, and filesystem permissions still restrict writable destinations.
Does this issue enable code execution through copyparty?
Copyparty does not execute arbitrary uploaded files as code by default, so this issue cannot directly execute code through copyparty. The primary concern is that files written into locations used by other software on the same system could affect that software.