Skip to content

copyparty vulnerable to reflected cross-site scripting via hc parameter

Moderate severity GitHub Reviewed Published Jul 21, 2023 in 9001/copyparty • Updated Sep 4, 2023

Package

pip copyparty (pip)

Affected versions

< 1.8.6

Patched versions

1.8.6

Description

Summary

The application contains a reflected cross-site scripting via URL-parameter ?hc=...

Details

A reflected cross-site scripting (XSS) vulnerability exists in the web interface of the application that could allow an attacker to execute malicious javascript code by tricking users into accessing a malicious link.

The worst-case outcome of this is being able to move or delete existing files on the server, or upload new files, using the account of the person who clicks the malicious link.

It is recommended to change the passwords of your copyparty accounts, unless you have inspected your logs and found no trace of attacks.

Checking for exposure

if copyparty is running behind a reverse proxy, you can check the access-logs for traces of attacks, by grepping for URLs containing ?hc= with < somewhere in its value, for example using the following command:

  • nginx:
    (gzip -dc access.log*.gz; cat access.log) | sed -r 's/" [0-9]+ .*//' | grep -E '[?&](hc|pw)=.*[<>]'

PoC

  • http://127.0.0.1:3923/?hc="><script>alert(1);</script>
  • http://127.0.0.1:3923/?pw=<script>alert(1);</script>

References

@9001 9001 published to 9001/copyparty Jul 21, 2023
Published to the GitHub Advisory Database Jul 21, 2023
Reviewed Jul 21, 2023
Last updated Sep 4, 2023

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-cw7j-v52w-fp5r

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.