{"id":"CVE-2026-105694","aliases":["EUVD-2026-92713"],"status":"published","title":"Penpot: Stored XSS via Unsanitised SVG Uploads","description":"Penpot is an open-source design and prototyping platform. Prior to 2.18.0, authenticated users with file-edit permission can upload SVG media whose scripts, event-handler attributes, and foreignObject elements are stored without sanitization and served as image/svg+xml from the Penpot origin. A victim who navigates to the asset URL executes attacker-controlled JavaScript in that origin, allowing requests and data access with the victim's Penpot session authority. This issue is fixed in version 2.18.0.","severity":{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00218,"percentile":0.12437,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-79"],"published":"2026-10-05T20:02:03Z","modified":"2026-10-28T02:31:05Z","products":[{"vendor":"penpot","product":"penpot"}],"references":[{"url":"https://github.com/penpot/penpot/security/advisories/GHSA-xg6f-5v5x-g4w2","tags":["x_refsource_CONFIRM","exploit","advisory"]},{"url":"https://github.com/penpot/penpot/security/advisories/GHSA-wrcr-m7p8-m2c4","tags":["x_refsource_MISC","advisory"]},{"url":"https://github.com/penpot/penpot/pull/10989","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/penpot/penpot/pull/11044","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/penpot/penpot/commit/c4dd04353fcf06c3e10a64e3d8e43945508ae98c","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/penpot/penpot/releases/tag/2.18.0","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/105xxx/CVE-2026-105694.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-105694","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-105694","title":"Penpot: Stored XSS via Unsanitised SVG Uploads","description":"Penpot is an open-source design and prototyping platform. Prior to 2.18.0, authenticated users with file-edit permission can upload SVG media whose scripts, event-handler attributes, and foreignObject elements are stored without sanitization and served as image/svg+xml from the Penpot origin. A victim who navigates to the asset URL executes attacker-controlled JavaScript in that origin, allowing requests and data access with the victim's Penpot session authority. This issue is fixed in version 2.18.0.","status":"published","published":"2026-10-05T20:02:03.834Z","modified":"2026-10-08T02:25:00.547Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:19:56.755658Z"}],"euvd":[{"id":"EUVD-2026-92713","description":"Penpot is an open-source design and prototyping platform. Prior to 2.18.0, authenticated users with file-edit permission can upload SVG media whose scripts, event-handler attributes, and foreignObject elements are stored without sanitization and served as image/svg+xml from the Penpot origin. A victim who navigates to the asset URL executes attacker-controlled JavaScript in that origin, allowing requests and data access with the victim's Penpot session authority. This issue is fixed in version 2.18.0.","status":"published","published":"2026-10-05T20:02:03Z","modified":"2026-10-08T02:25:00Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T17:27:33.555595Z"}],"nvd":[{"id":"CVE-2026-105694","description":"Penpot is an open-source design and prototyping platform. Prior to 2.18.0, authenticated users with file-edit permission can upload SVG media whose scripts, event-handler attributes, and foreignObject elements are stored without sanitization and served as image/svg+xml from the Penpot origin. A victim who navigates to the asset URL executes attacker-controlled JavaScript in that origin, allowing requests and data access with the victim's Penpot session authority. This issue is fixed in version 2.18.0.","status":"published","published":"2026-10-05T20:17:19.813Z","modified":"2026-10-08T03:16:34.507Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:54.129949Z"}],"osv":[{"id":"CVE-2026-105694","title":"Penpot: Stored XSS via Unsanitised SVG Uploads","description":"Penpot is an open-source design and prototyping platform. Prior to 2.18.0, authenticated users with file-edit permission can upload SVG media whose scripts, event-handler attributes, and foreignObject elements are stored without sanitization and served as image/svg+xml from the Penpot origin. A victim who navigates to the asset URL executes attacker-controlled JavaScript in that origin, allowing requests and data access with the victim's Penpot session authority. This issue is fixed in version 2.18.0.","status":"published","published":"2026-10-05T20:02:03.834Z","modified":"2026-10-28T02:31:05.737118552Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:44:54.583213Z"}]}}
