Vulnerabilities in pkg:pypi/copyparty
PACKAGECVE-2026-104102 is a MODERATE path traversal vulnerability (CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')) affecting copyparty FTP libraries in the PyPI ecosystem. The issue involves upload outside defined volumes (limited path traversal). Remediation is available by upgrading affected packages to version 1.20.19.
pkg:pypi/copyparty
Vulnerability advisories affecting package pkg:pypi/copyparty. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-phv8-wgjp-g4p9 | CVE-2026-104102 | MODERATE | copyparty FTP: upload outside defined volumes (limited path traversal) |
| GHSA-x5pq-m9p8-f4vx | CVE-2026-70657 | MODERATE | Copyparty vulnerable to file/dirkey confusion |
| GHSA-rcp6-88mm-9vgf | CVE-2026-32109 | LOW | Copyparty has unexpected JavaScript execution via crafted URL to folder with `.prologue.html` |
| GHSA-67rw-2x62-mqqm | CVE-2026-32108 | LOW | Copyparty ftp/sftp: Sharing a single file did not fully restrict source-folder access |
| GHSA-m6hv-x64c-27mm | CVE-2026-30974 | MODERATE | copyparty: volflag `nohtml` did not block javascript in svg files |
| GHSA-62cr-6wp5-q43h | CVE-2026-27948 | MODERATE | Copyparty vulnerable to reflected XSS via setck parameter |
| GHSA-pxvw-4w88-6x95 | CVE-2025-58753 | MODERATE | copyparty: Sharing a single file does not fully restrict access to other files in source folder |
| GHSA-f54q-j679-p9hh | CVE-2023-38501 | MODERATE | copyparty vulnerable to reflected cross-site scripting via k304 parameter |
| GHSA-5662-2rj7-f2v6 | CVE-2025-54796 | HIGH | copyparty allows Regex Denial of Service (ReDoS) in the upload listing |
| GHSA-8mx2-rjh8-q3jq | CVE-2025-54589 | MODERATE | copyparty Reflected XSS via Filter Parameter |
| GHSA-9q4r-x2hj-jmvr | CVE-2025-54423 | MODERATE | copyparty has DOM-Based XSS vulnerability when displaying multimedia metadata |
| GHSA-m2jw-cj8v-937r | CVE-2025-27145 | LOW | copyparty renders unsanitized filenames as HTML when user uploads empty files |
| GHSA-pxfv-7rr3-2qjg | CVE-2023-37474 | HIGH | copyparty vulnerable to path traversal attack |
| GHSA-cw7j-v52w-fp5r | - | MODERATE | copyparty vulnerable to reflected cross-site scripting via hc parameter |
CVE-2026-104102 at a Glance
How to Fix CVE-2026-104102
To remediate this vulnerability, upgrade all affected copyparty FTP dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install copyparty>=1.20.19
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show copyparty
How to Check if You Are Affected
To determine whether your Python environment is affected by CVE-2026-104102, inspect your installed packages using pip:
pip show copyparty
Analyze the terminal output to locate any version of copyparty FTP in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.20.19), your application is affected.
Note: The pip show copyparty command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'), where the product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory. In copyparty FTP, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-104102 Affected copyparty FTP Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
copyparty
|
PyPI |
< 1.20.19
|
1.20.19
|
References
Frequently Asked Questions
What is CVE-2026-104102?
Which copyparty FTP versions are affected?
What version fixes CVE-2026-104102?
Is copyparty affected?
What CWE is associated with CVE-2026-104102?
How can I check PyPI dependencies for CVE-2026-104102?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-phv8-wgjp-g4p9",
"modified" : "2026-10-15T20:16:38Z",
"published" : "2026-10-15T20:16:38Z",
"aliases" : [ "CVE-2026-104102" ],
"summary" : "copyparty FTP: upload outside defined volumes (limited path traversal)",
"details" : "The FTP and FTPS server -- if enabled -- would allow uploading to any folder that the copyparty process had permission to write to.\n\nThe 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.\n\nThis was not a full read/write path-traversal; it had the following limitations:\n* Only applied to uploads; it was not possible to read/download existing files in this manner.\n* The output filename was not fully controllable; a randomized suffix would always be appended to the filename.\n* Existing files could not be overwritten or appended to; only new files could be created.\n* Filesystem-permissions would prevent writing to system folders, as copyparty surely does not run as root in most deployments.\n* Copyparty itself will not execute arbitrary files as code by default, so this vulnerability could not be used to execute arbitrary code through copyparty.\n\nThe main concern is the potential effect on other unrelated software which is running on the same system.\n\nThe 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.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:N/SC:H/SI:H/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "copyparty"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "1.20.19"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/9001/copyparty/security/advisories/GHSA-phv8-wgjp-g4p9"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-104102"
}, {
"type" : "WEB",
"url" : "https://github.com/9001/copyparty/commit/b331bb1c8c8cc306b91e4d94221969335a7a3e86"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/9001/copyparty"
}, {
"type" : "WEB",
"url" : "https://github.com/9001/copyparty/releases/tag/v1.20.19"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-22" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-10-15T20:16:38Z",
"nvd_published_at" : "2026-10-12T19:16:36Z"
}
}