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.
Published: 2026-10-05
Score: 5.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Stored XSS
Action: Apply Patch
AI Analysis

Impact

An authenticated user with file‑edit permission can upload an SVG file that contains script elements, event‑handler attributes, or foreignObject elements. These uploads are stored exactly as received and then served with the image/svg+xml MIME type from the same domain. When a victim later accesses the asset URL, the browser executes the embedded JavaScript in that origin. Consequently, the attacker can run code with the victim’s session authority, enabling data theft, content injection, or further exploitation within the same Penpot instance.

Affected Systems

All installations of Penpot older than version 2.18.0 are vulnerable. The versioning follows the release channel marked as 2.x. Any user with file‑edit rights who uploads SVG media is at risk. Newer versions from 2.18.0 onward are not affected.

Risk and Exploitability

The CVSS score of 5.4 places this vulnerability at moderate severity. Because the exploitation requires authentication and file‑edit privileges, the attack surface is limited to users who have been granted those rights. EPSS data is unavailable, and the issue is not listed in CISA’s KEV catalog, suggesting that widespread automated exploitation has not been observed yet. Despite the moderate score, the stored nature of the flaw means that a single compromised asset can be reused by any member who later accesses it.

Generated by OpenCVE AI on October 5, 2026 at 21:24 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Penpot 2.18.0 or newer, which sanitises SVG uploads.
  • If an immediate upgrade is not possible, revoke or limit the file‑edit permission to prevent authenticated users from uploading SVGs.
  • Apply a content‑security‑policy that blocks inline script execution from image/svg+xml assets as a temporary mitigation.

Generated by OpenCVE AI on October 5, 2026 at 21:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 08 Oct 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 05 Oct 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Penpot
Penpot penpot
Vendors & Products Penpot
Penpot penpot

Mon, 05 Oct 2026 20:15:00 +0000

Type Values Removed Values Added
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.
Title Penpot: Stored XSS via Unsanitised SVG Uploads
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-08T02:25:00.547Z

Reserved: 2026-10-05T17:48:58.627Z

Link: CVE-2026-105694

cve-icon Vulnrichment

Updated: 2026-10-08T02:24:27.048Z

cve-icon NVD

Status : Deferred

Published: 2026-10-05T20:17:19.813

Modified: 2026-10-08T03:16:34.507

Link: CVE-2026-105694

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-05T21:30:19Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')