[Eclipse OpenVSX] Stored XSS via Malicious SVG Extension Icon
The Eclipse Foundation is a [Common Vulnerabilities and Exposures](https://cve.mitre.org/) (CVE) Numbering Authority. This issue it used to request and track the progress of the assignment of a CVE for a vulnerability in the project code for an Eclipse open source project. ## Basic information **Project name:** Eclipse Open VSX **Project id:** ecd.openvsx **Request type:** publication **Versions affected:** [0.1.0, 0.34.1) **Common Weakness Enumeration (CWE):** - {[CWE-79](https://cwe.mitre.org/data/definitions/79.html)} **Common Vulnerability Scoring System:** - CVSS 3.1: 4.1 (Medium): `CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:N` **Summary:** Open VSX Registry does not sanitize SVG files uploaded as extension icons prior to storage, and serves them with `Content-Type: image/svg+xml` without security headers such as `Content-Security-Policy` or `Content-Disposition: attachment`. This allows an attacker to publish an extension with a malicious SVG icon and achieve stored cross-site scripting (XSS) when a user navigates directly to the icon URL. On deployments using local storage, script execution occurs within the Open VSX application origin, enabling session hijacking, authentication token theft, and unauthorized extension publishing. On deployments backed by external storage (such as open-vsx.org with an S3-backed CDN), execution is confined to the storage origin, reducing impact but still permitting phishing attacks and credential harvesting through attacker-crafted pages. **Solution:** Starting from Open VSX 0.34.1, extensions with SVG files as extension icons are rejected by default. **Links:** - https://github.com/eclipse-openvsx/openvsx/pull/1766 - https://gitlab.eclipse.org/security/vulnerability-reports/-/issues/379 **Credits:** - Golan Myers ## Tracking **This section will completed by the project team**. - [ ] Reserve an entry only - [x] We're ready for this issue to be reported to the central authority (i.e., make this public now) - [ ] (when applicable) The GitHub Security Advisory is ready to be published now Note that for those projects that host their repositories on GitHub, the use of GitHub Security Advisories is recommended but is not required. **This section will be completed by the EMO**. **CVE:** {cve} - [ ] All required information is provided - [ ] CVE Assigned - [ ] Pushed to Mitre - [ ] Accepted by Mitre <!-- Quick actions will configure the state of the issue. Leave these. --> <!-- Keep this as the last line -->
issue

Copyright © Eclipse Foundation AISBL. All rights reserved.     Privacy Policy | Terms of Use | Copyright Agent