Description
Penpot is an open-source design and prototyping platform. In versions up to and including 2.14.3, Penpot is vulnerable to stored cross-site scripting through custom font family names, which are interpolated into a @font-face CSS rule and injected into the page as HTML without sanitization. Because the backend accepts an arbitrary font-family string and the frontend writes the resulting style through innerHTML, a name containing markup such as a closing style tag followed by a script can break out of the style element and execute JavaScript on the Penpot origin. The attack is passive: any team member who opens a file referencing the malicious font triggers script execution simply by rendering the page, allowing theft of session cookies, actions performed as the victim, and access to their files and projects. This issue is fixed in version 2.15.3.
Published: 2026-08-26
Score: 7.6 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Penpot up to version 2.14.3 is affected by a stored cross‑site scripting vulnerability. Custom font‑family names are injected directly into a @font‑face style rule without sanitization, allowing a malicious font name to break out of the style element and execute arbitrary JavaScript when the file is rendered. This can lead to theft of session cookies and impersonation of the user on the Penpot origin.

Affected Systems

The vulnerable software is Penpot by Penpot. Versions up to and including 2.14.3 are compromised. The issue is fixed in 2.15.3 and later.

Risk and Exploitability

The CVSS base score is 7.6, indicating a high severity. EPSS is not available, and the vulnerability is not listed in the CISA KEV catalog, so there is no current evidence of exploitation in the wild. However, the attack requires that a user open a file containing a malicious font name. Because the payload runs in the Penpot origin, it can steal cookies and perform unauthorized actions. The vulnerability is therefore moderate to high risk for organizations where multiple users collaborate on shared projects.

Generated by OpenCVE AI on August 27, 2026 at 00:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Penpot to version 2.15.3 or later.
  • Remove any existing custom fonts that contain suspicious or non‑standard characters from all documents and projects.
  • Configure the font‑family input to accept only alphanumeric characters or implement a whitelist of safe font names to prevent future injection.

Generated by OpenCVE AI on August 27, 2026 at 00:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 27 Aug 2026 01:15:00 +0000

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

Wed, 26 Aug 2026 23:15:00 +0000

Type Values Removed Values Added
Description Penpot is an open-source design and prototyping platform. In versions up to and including 2.14.3, Penpot is vulnerable to stored cross-site scripting through custom font family names, which are interpolated into a @font-face CSS rule and injected into the page as HTML without sanitization. Because the backend accepts an arbitrary font-family string and the frontend writes the resulting style through innerHTML, a name containing markup such as a closing style tag followed by a script can break out of the style element and execute JavaScript on the Penpot origin. The attack is passive: any team member who opens a file referencing the malicious font triggers script execution simply by rendering the page, allowing theft of session cookies, actions performed as the victim, and access to their files and projects. This issue is fixed in version 2.15.3.
Title Penpot: Stored XSS via custom font family name injected into a @font-face style rule
Weaknesses CWE-79
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-26T22:47:49.788Z

Reserved: 2026-05-19T21:10:38.797Z

Link: CVE-2026-47666

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T23:17:13.843

Modified: 2026-08-26T23:17:13.843

Link: CVE-2026-47666

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-27T01:15:04Z

Weaknesses
  • CWE-79

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