CVE-2026-105691: Penpot SVG exporter command injection via fill color

CVE-2026-105691 · Severity: critical · CVSS 9.9 · Published 2026-10-05

Penpot is an open-source design and prototyping platform used to create and share design files. Attackers who can edit a design file or access a public share link can inject shell commands into a text object's fill color, which are executed with the exporter service's privileges when the file is exported to SVG, potentially leading to remote code execution on the server.

Technologies: Penpot. Vendors: Penpot.

Quick answers

Is CVE-2026-105691 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-105691 being exploited in the wild.
How severe is CVE-2026-105691?
Critical severity, with a CVSS score of 9.9, published 5 October 2026.
Which products and versions are affected?
Penpot prior to 2.18.0.
Is there a fix for CVE-2026-105691?
Yes: fixed in 2.18.0. Until then: Restrict file editing permissions and disable SVG export functionality until the platform can be upgraded, or limit access to design files to trusted users only. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-105691 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-105691?
Check whether you run Penpot at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Fixed in: 2.18.0

Restrict file editing permissions and disable SVG export functionality until the platform can be upgraded, or limit access to design files to trusted users only.

Technical details

The SVG exporter vulnerability involves improper handling of user-controlled fill-color values for text objects, which are passed to a ppmcolormask command via child_process.exec without proper sanitization. An authenticated user or anyone with access to a public share link can embed shell metacharacters in the fill color field; on SVG export, these are executed as shell commands with exporter service privileges. The fix replaces child_process.exec with execFile and adds strict hex color validation.

Affected products

  • Penpot Penpot prior to 2.18.0

Timeline

  • 2026-10-05: disclosed

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.