Description
Penpot is an open-source design and prototyping platform. Prior to 2.18.0, the SVG exporter places an attacker-controlled text object's fill-color value into a ppmcolormask command string and executes that string through child_process.exec. A user who can edit a file can store shell metacharacters in the fill color and trigger SVG export, causing commands to execute with the exporter service's privileges. The same export can be triggered through a valid public share link to a malicious file. This vulnerability is fixed in 2.18.0.
Published: 2026-10-05
Score: 9.9 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability stems from the SVG exporter inserting a user-controlled fill‑color value into a shell command that is executed via child_process.exec. If an attacker can add shell metacharacters to this field, the exported ppmcolormask command will run arbitrary shell commands with the privileges of the exporter service. The result is uncontrolled code execution, which can lead to full system compromise for the service owner.

Affected Systems

Penpot versions before 2.18.0 are impacted. Users of the open‑source design platform who have the ability to edit a file or access a publicly shared link that points to a malicious file are at risk.

Risk and Exploitability

The CVSS score of 9.9 indicates critical severity. EPSS data is not available and the vulnerability is not listed in CISA KEV catalog, but the absence of exploit data does not reduce the risk. The likely attack vector is that an authenticated user who can edit a file or any user who can trigger an export via a shared link can supply malicious content. Once the export is performed, the attacker’s shell commands execute with the service’s privileges. The lack of mitigations in older versions means exploitation is straightforward when the conditions are met.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update to Penpot 2.18.0 or newer, which removes the vulnerable command build.
  • If an upgrade is not possible immediately, disable or restrict the export feature or block the use of the ppmcolormask command for user‑supplied colors.
  • Verify that the 'fill-color' field undergoes strict validation or sanitization so that no shell metacharacters are allowed.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 06 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Mon, 05 Oct 2026 22:15: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, the SVG exporter places an attacker-controlled text object's fill-color value into a ppmcolormask command string and executes that string through child_process.exec. A user who can edit a file can store shell metacharacters in the fill color and trigger SVG export, causing commands to execute with the exporter service's privileges. The same export can be triggered through a valid public share link to a malicious file. This vulnerability is fixed in 2.18.0.
Title Penpot: Authenticated OS Command Injection in Penpot SVG Exporter via Legacy fill-color
Weaknesses CWE-78
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-06T16:47:15.701Z

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

Link: CVE-2026-105691

cve-icon Vulnrichment

Updated: 2026-10-06T16:47:10.008Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-06T17:17:18.470

Link: CVE-2026-105691

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-05T22:00:10Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')