CVE-2026-105693 in Penpotinfo

Summary

by MITRE • 10/06/2026

Penpot is an open-source design and prototyping platform. Prior to 2.18.0, the unauthenticated get-view-only-bundle RPC returns every share-link row for a file even when the caller authenticated with only one scoped share link. A holder of a restrictive link can obtain other links' secret IDs, page scopes, comment permissions, and inspection permissions, then replay a more permissive token to access page data that was not included in the original share. This issue is fixed in version 2.18.0.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 10/06/2026

The vulnerability identified in Penpot versions prior to 2.18.0 represents a critical failure in access control logic within the platform's remote procedure call (RPC) mechanism, specifically affecting the get-view-only-bundle endpoint. This function is designed to retrieve necessary data for rendering a shared design file in view-only mode. However, the implementation fails to properly validate whether the authenticated session associated with the request possesses sufficient privileges to access all requested resources. Instead of restricting the response payload to only those elements explicitly permitted by the specific share link used for authentication, the system returns every row from the database table containing share-link configurations for that file. This architectural flaw allows an attacker who holds a restrictive or limited-scope share link to enumerate and extract metadata associated with other, potentially more permissive links linked to the same document.

From a technical perspective, this issue stems from improper authorization checks during data retrieval operations. The server-side logic does not cross-reference the permissions granted by the current authentication token against each individual record in the result set before transmission. Consequently, an unauthenticated or partially authenticated caller can exploit this oversight to gather sensitive information such as secret identifiers for other share links, detailed page scopes, and granular permission settings including comment access and inspection rights. By aggregating these details, an attacker gains a comprehensive map of the file's sharing structure, which serves as reconnaissance data for further exploitation attempts.

The operational impact of this vulnerability is significant, primarily due to its potential for privilege escalation through token replay attacks. Once an adversary obtains the secret IDs and permission scopes of other share links via the flawed endpoint, they can attempt to authenticate using a more permissive link if one exists or if they can guess or derive valid tokens associated with those broader permissions. This effectively bypasses the intended restrictions placed on the original restrictive link, allowing unauthorized access to page data that was explicitly excluded from the initial sharing scope. The exposure of comment and inspection permissions further exacerbates the risk by revealing internal collaboration details and potentially exposing sensitive design iterations not meant for public or limited audiences.

This vulnerability aligns with CWE-284 Improper Access Control, as it involves a failure to enforce proper restrictions on an authenticated user's actions regarding data access. Additionally, it relates to CWE-601 URL Redirection to Untrusted Site in the context of how share links function as entry points for unauthorized data retrieval when validation is bypassed. In terms of MITRE ATT&CK framework tactics, this behavior facilitates Reconnaissance through Information Discovery (T1589) by exposing internal configuration details and enables Privilege Escalation via Abuse of Functionality or Token Manipulation if the attacker successfully replays a more permissive token to access restricted resources.

To mitigate this risk, organizations using Penpot must upgrade immediately to version 2.18.0 or later, where the developers have corrected the authorization logic in the get-view-only-bundle RPC endpoint. The fix ensures that responses are strictly filtered based on the permissions granted by the specific share link used for authentication, preventing the leakage of unrelated share-link data. Until an upgrade is performed, administrators should consider implementing network-level access controls or web application firewalls to restrict exposure of this specific RPC endpoint if it is exposed externally, although upgrading remains the only definitive remediation strategy given the fundamental nature of the code flaw.

Responsible

GitHub M

Reservation

10/05/2026

Disclosure

10/06/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!