Skip to main content

Penpot CVE-2026-105688

| EUVDEUVD-2026-92706 MEDIUM
Improper Privilege Management (CWE-269)
2026-10-05 GitHub_M
6.7
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as team administrator
  2. Delivery
    Craft invitation assigning owner role
  3. Exploit
    Bypass missing role-ceiling check
  4. Execution
    Accept invite on second account as owner
  5. Impact
    Exercise owner-only team control

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to already be an authenticated team member holding the 'administrator' role (not owner) on the target team, and to use the create-team-invitations RPC (either the emails+role or the invitations[] format) or the update-team-invitation-role path to assign role :owner. The limiting factor is this pre-existing administrator privilege within the specific team (PR:H) - it cannot be performed by anonymous or ordinary (editor/viewer) users, and it only affects versions prior to 2.18.0; no user interaction by a victim is needed beyond the attacker accepting their own crafted invitation. Owners are legitimately allowed to create owner invitations, so the condition is specifically a non-owner administrator acting on invitation roles.

Impact

This is a genuine but moderate-priority privilege-escalation flaw (CWE-269), best treated as a within-tenant integrity issue rather than an internet-facing emergency. The CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N (6.7) is internally consistent with the description and the patch: PR:H correctly reflects that the attacker must already be an authenticated team administrator, AC:L reflects that no race or special timing is needed, and I:H/A:H capture the resulting owner-level takeover of the team. No EPSS score, SSVC decision, KEV listing, or POC was provided in the input; per precision rules this is 'no public exploit identified at time of analysis' and there is no evidence of active exploitation. The commit diff and dedicated regression tests (T7-F-01) confirm the root cause - invitation roles were persisted and applied without the role-ceiling check that update-team-member-role already enforced - so the vulnerability itself is well substantiated even though exploitation-probability signals are absent. Net: real and worth patching because the privilege boundary (admin→owner) is meaningfully violated, but the PR:H precondition means the attacker is already a semi-trusted insider, so this is not a mass-exploitable remote-takeover bug. Missing data to note: no EPSS and no SSVC inputs were supplied, so widespread-exploitation likelihood cannot be quantified from the provided intelligence.

Exploit ScenarioDerived

A malicious or compromised account that already holds the team 'administrator' role (but not 'owner') sends a team invitation specifying the owner role, or updates a pending invitation's role to owner, which pre-2.18.0 is persisted and applied without any role-ceiling check. The attacker accepts the invitation on a second account to mint a new owner, then uses that owner account to seize owner-only control of the team. No public exploit code was identified, but the authoritative fix commit and regression tests make the exact exploitation path explicit.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 05, 2026

Privilege escalation in Penpot before 2.18.0 lets a non-owner team administrator promote themselves to team owner by creating or modifying team invitations with the :owner role, since the invitation code path lacked the role-ceiling check that guards update-team-member-role. Exploitation requires the attacker to already hold the team-level 'administrator' role (authenticated, PR:H), and the resulting access is confined to that team's owner-only controls; no public exploit code or confirmed active exploitation was identified at time of analysis, and no EPSS score was supplied. It is a moderate-priority, within-tenant integrity issue rather than an internet-facing emergency.

RemediationAI

Vendor-released patch: upgrade to Penpot 2.18.0 or later, which introduces the :cant-promote-to-owner validation in the invitation creation, invitation-role update, and acceptance paths via commit 5efd9cc3c5689485322f57b644b83a3bd2e33cee; see the release notes at https://github.com/penpot/penpot/releases/tag/2.18.0 and the advisory at https://github.com/penpot/penpot/security/advisories/GHSA-mx4v-cmxq-644v. If an immediate upgrade is not possible, reduce exposure by auditing every team's membership and revoking the 'administrator' role from any user who does not strictly need it - the flaw is only reachable by an authenticated team admin, so shrinking that population removes the precondition (trade-off: delegated team administration must be handled manually by owners). Also review current team ownership lists and pending invitations for unexpected duplicate owners or :owner-role invitations created by non-owners, and remove any suspicious owner accounts, since the exploit requires the attacker to have already accepted a crafted invitation (trade-off: this is detection and cleanup, not prevention, so it must be repeated until the patch is applied). Restricting network access to the Penpot backend/RPC endpoint can further reduce the attack surface for internet-exposed deployments (trade-off: legitimate remote users lose access).

Affected VersionsENISA

penpot < 2.18.0

Affected Packages

euvd penpot fix: 2.18.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Penpot is an open-source design and prototyping platform whose backend is written in Clojure and exposes functionality through RPC commands, including teams_invitations.clj. In versions prior to 2.18.0, invitation roles were persisted and applied without validating them against the acting user's own privilege ceiling, so the role value supplied for a new or updated invitation (in either the legacy emails+role format or the invitations[] map format) was accepted verbatim. The update-team-member-role command already enforced a role ceiling, but the create-team-invitations and invitation-acceptance paths did not, allowing a team administrator to mint :owner invitations, accept one with a second account, and then leverage the resulting owner account for owner-only team control. The root cause maps to CWE-269 (Improper Privilege Management) - a missing authorization/role-ceiling check rather than a memory-safety or injection defect. The fix in commit 5efd9cc3c5689485322f57b644b83a3bd2e33cee inserts an explicit check that raises :validation/:cant-promote-to-owner whenever a non-owner attempts to set the :owner role (either directly or via any element of the invitations collection), while still permitting genuine owners to create owner invitations. The CPE cpe:2.3:a:penpot:penpot:*:*:*:*:*:*:*:* reflects that all pre-2.18.0 releases are in scope.

Know when Penpot gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.7 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H
vuln.today AI 6.7 MEDIUM

Requires an authenticated team administrator (PR:H) over the network with no user interaction; escalation to owner yields full team control (I:H/A:H) with limited direct data disclosure (C:L).

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
High
Availability
High

Lifecycle Timeline

1
Patch available
Oct 05, 2026 - 21:02 EUVD

DescriptionCVE.org

Penpot is an open-source design and prototyping platform. Prior to 2.18.0, create-team-invitations and the invitation acceptance path allow a non-owner team administrator to assign the owner role because invitation roles are persisted and applied without the role-ceiling check used by update-team-member-role. An administrator can invite another account as an owner, create multiple owners, and then use the new owner account to obtain owner-only control over the team. This issue is fixed in version 2.18.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
popular open-source self-hosted design/prototyping platform, not universally deployed
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

More in Penpot

View all
CVE-2026-26202 HIGH POC
7.5 Feb 19

Penpot before version 2.13.2 contains a path traversal vulnerability in the font creation endpoint that allows authentic

CVE-2026-105691 CRITICAL
9.9 Oct 05

Authenticated command injection in the Penpot SVG exporter prior to 2.18.0 allows a user with edit rights on a design fi

CVE-2026-44986 CRITICAL
9.9 Jul 15

Account takeover in Penpot before 2.14.5 allows an authenticated registered user to hijack any non-blocked profile witho

CVE-2026-45806 HIGH
7.7 Jul 15

Server-side request forgery in Penpot before 2.15.0 lets an authenticated file editor coerce the backend into fetching a

CVE-2026-17613 HIGH
7.5 Aug 05

Missing authorization on Penpot's ::import-binfile RPC command allows any authenticated user to overwrite arbitrary file

CVE-2026-105696 MEDIUM
6.5 Oct 05

Missing authorization checks in Penpot prior to 2.18.0 let a holder of a valid share link read design and shape data fro

CVE-2026-105689 MEDIUM
6.0 Oct 05

Server-side request forgery in Penpot before 2.18.0 allows an authenticated user who controls a media-import URL, or an

CVE-2026-105695 MEDIUM
5.9 Oct 05

Penpot versions prior to 2.18.0 leak the contents of other users' in-progress uploads because the backend assemble-chunk

CVE-2026-105690 MEDIUM
5.9 Oct 05

Logout in Penpot versions prior to 2.18.0 clears the browser's auth-token cookie but leaves the matching server-side ses

CVE-2026-105692 MEDIUM
5.4 Oct 05

Authenticated editors on a Penpot file (prior to version 2.18.0) can delete share links that were created by other users

CVE-2026-105694 MEDIUM
5.4 Oct 05

Stored cross-site scripting in Penpot before 2.18.0 allows an authenticated user holding file-edit permission to upload

CVE-2026-105686 MEDIUM
5.3 Oct 05

Authenticated users of Penpot prior to 2.18.0 can exhaust server-side temporary storage by repeatedly re-uploading a val

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy