{"id":"CVE-2026-104102","revision":"15f94802c2c34fdeadcad6c7b19e69b1","records":[{"revision":"15f94802c2c34fdeadcad6c7b19e69b1","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-104102","aliases":[],"title":"copyparty FTP: upload outside defined volumes (limited path traversal)","description":"copyparty is a portable file server. Prior to 1.20.19, FTP upload path handling does not confine destinations to configured copyparty volumes. When FTP or FTPS is explicitly enabled, a low-privileged authenticated user can submit traversal paths during upload to create a new file outside configured volumes wherever the copyparty process has write permission. The attacker cannot read or overwrite files, the output name receives a randomized suffix, and copyparty does not execute the file; however, unrelated software on the same host could process the newly created file. This issue is fixed in version 1.20.19.","state":0,"publishedAt":"2026-10-12T18:32:00.821+00:00","modifiedAt":"2026-10-13T16:31:17.851+00:00","affected":[{"ecosystem":"Vendor product","name":"copyparty","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"9001\",\n                    \"product\": \"copyparty\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 1.20.19\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 4.0","vector":"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","score":5.3,"severity":"MEDIUM"}],"references":["https://github.com/9001/copyparty/security/advisories/GHSA-phv8-wgjp-g4p9","https://github.com/9001/copyparty/commit/b331bb1c8c8cc306b91e4d94221969335a7a3e86","https://github.com/9001/copyparty/releases/tag/v1.20.19"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-104102","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-104102","identifiers":["CVE-2026-104102"]},"retained":false,"historicalAffected":[]}],"coverage":[]}