CVE-2025-50183 – @openlist-frontend/openlist-frontend
Package
Manager: npm
Name: @openlist-frontend/openlist-frontend
Vulnerable Version: >=0 <4.0.0-rc.4
Severity
Level: Medium
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
EPSS: 0.00044 pctl0.12812
Details
OpenList (frontend) allows XSS Attacks in the built-in Markdown Viewer XSS via `.py` file containing script tag interpreted as HTML ## Summary A vulnerability exists in the file preview/browsing feature of the application, where files with a `.py` extension that contain JavaScript code wrapped in `<script>` tags may be interpreted and executed as HTML in certain modes. This leads to a stored XSS vulnerability. ## Affected Versions * <= 4.0.0-rc.3 ## PoC Create a `.py` file with arbitrary JavaScript content wrapped in `<script>` tags. For example: ```javascript <script>alert(document.cookie);</script> ``` When a victim views the file in browsing mode (e.g., a rendered preview), the JavaScript is executed in the browser context. --- ## Attack vector An attacker can place such a `.py` file in the system via remote channels, such as: * Convincing a webmaster to download or upload the file; * Tricking users into accessing a file link via public URLs. ## Required permissions * None, if public or visitor access is enabled. * If the file is uploaded by a user with elevated permissions, potential privilege boundaries may be crossed. ## User interaction Yes. The user must manually click to switch to the browsing or preview mode to trigger the script. And seems only when using `ISO-8859-1` encoding. ## Scope * Unchanged `(S:U)` - The attack does not cross system or privilege boundaries in general. * ⚠️ Controversial edge case: If sensitive preview files are accessible due to misconfiguration, scope could be considered Changed `(S:C)`. ## Impact * Confidentiality: User information including cookies, login state, and localStorage may be accessed. Some files that only can be viewed via this user will leak too. * Integrity & Availability: Not directly impacted. --- ## Recommendations * Treat all previewed file types (including non-HTML like .py) as plain text unless explicitly sanitized. * Disable rendering modes that can interpret user-uploaded content as HTML. ## Timeline | Date | Event | |------|-------| | 2025-06-17 | Vulnerability reported | | 2025-06-17 | Comminuty Manager confirmed | | 2025-06-17 | Fixed | # Credits * Discovered by: @zyk2507 * Reported to: [The OpenList Team](https://github.com/OpenListTeam) * Analyzed and confirmed by: @jyxjjj * Fixed by: @cxw620 * Fixed in: `4.0.0-rc.4`
Metadata
Created: 2025-06-18T14:41:25Z
Modified: 2025-06-19T15:19:19Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/06/GHSA-2hw3-h8qx-hqqp/GHSA-2hw3-h8qx-hqqp.json
CWE IDs: ["CWE-79"]
Alternative ID: GHSA-2hw3-h8qx-hqqp
Finding: F425
Auto approve: 1