{"schemaVersion":3,"id":"CVE-2026-13323","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"In Open VSX Registry before 1.0.2, the /vscode/unpkg/ endpoint serves user-supplied HTML files with Content-Type: text/html and without a Content-Security-Policy or Content-Disposition: attachment response header. An unauthenticated attacker can register a publisher account, upload a VSIX containing a crafted HTML payload, and induce an authenticated user to visit the resulting URL. The browser renders the file inline in the open-vsx.org origin context, enabling session token exfiltration, persistent Personal Access Token (PAT) generation, and unauthorized publication of malicious extension versions. Because Open VSX extensions are distributed to VS Code, VSCodium, Cursor, Windsurf, and compatible editors, a compromised extension update constitutes a supply chain attack against all downstream users.","dates":{"published":"2026-07-01T11:28:20.888Z","modified":"2026-07-01T12:19:20.920Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.7,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"NVD","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":4.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":8.7,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00331,"percentile":0.24709,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.00331},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00331,"percentile":0.24709}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00331,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00331,"percentile":0.24709}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"REF_F5AD4F58D5694614","name":"Exploit Reference (gitlab.eclipse.org)","source":"reference","url":"https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/485","maturity":"unknown","reliabilityScore":0.2,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-79","name":"Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","description":"The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/79.html"}],"affected":[{"vendor":"eclipse foundation","product":"eclipse open vsx","name":"Eclipse Open VSX","label":"eclipse open vsx","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 0.1.0, < 1.0.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 0.1.0, < 1.0.2","eol":null,"hubHref":"/vendor/eclipse_foundation/eclipse_open_vsx"},{"vendor":"eclipse","product":"open_vsx","name":"open vsx","label":"open_vsx","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.0.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.0.2","eol":null,"hubHref":"/vendor/eclipse/open_vsx"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/485","label":"gitlab.eclipse.org/security/vulnerability-reports/-/work_items/485","hostname":"gitlab.eclipse.org","tags":["Exploit","Issue Tracking","Vendor Advisory"]},{"url":"https://github.com/eclipse-openvsx/openvsx/pull/1922","label":"github.com/eclipse-openvsx/openvsx/pull/1922","hostname":"github.com","tags":["Issue Tracking","Patch"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-07-01T11:28:20.888Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-07-01T12:19:20.920Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":45,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T11:53:35.215Z","stale":false,"partial":false}}