Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-17613

CVE-2026-17613: Penpot Auth Bypass Vulnerability

CVE-2026-17613 is an authorization bypass flaw in Penpot's import-binfile RPC command that lets authenticated users overwrite files and exfiltrate data. This article covers technical details, affected versions, and mitigations.

Published:

CVE-2026-17613 Overview

CVE-2026-17613 is a missing authorization flaw [CWE-862] in Penpot, the open-source design and prototyping platform. The ::import-binfile Remote Procedure Call (RPC) command accepts an optional file-id parameter without verifying that the requester owns or can access the target file. Any authenticated user can overwrite arbitrary files across teams and subscribe to the associated WebSocket channels. This exposes design data to full exfiltration and poisoning across tenants.

Critical Impact

Authenticated users can overwrite any file on the Penpot server and receive live WebSocket updates, enabling cross-team data destruction and passive data exfiltration.

Affected Products

  • Penpot self-hosted and cloud deployments prior to version 2.17.0
  • Penpot backend RPC service exposing ::import-binfile
  • Penpot WebSocket subscription channels tied to overwritten file IDs

Discovery Timeline

  • 2026-08-05 - CVE-2026-17613 published to the National Vulnerability Database
  • 2026-08-05 - Last updated in NVD database
  • Penpot 2.17.0 - Fixed release published on the Penpot GitHub releases page

Technical Details for CVE-2026-17613

Vulnerability Analysis

Penpot exposes an RPC endpoint named ::import-binfile that ingests binary file payloads and writes them into the platform's file store. The command accepts an optional file-id parameter. When a client supplies a file-id referencing a file in another team or project, the server processes the write without performing an ownership or team-membership check. The design flaw is a classic authorization gap on a state-changing operation. Additional details are available in the Voke Cyber CVE-2026-17613 research writeup.

Because the ::import-binfile handler also registers the caller's session with the file's WebSocket channel, the attacker gains a live subscription to every collaborative update on the targeted file. This turns a one-shot overwrite into a persistent exfiltration channel until the subscription is severed.

Root Cause

The root cause is a missing access-control check on the file-id parameter inside the ::import-binfile RPC command. The handler treats the caller as authorized for any file identifier that is well-formed. It does not consult the project or team membership tables before writing content or attaching the WebSocket listener.

Attack Vector

The attack requires only an authenticated Penpot account, which anyone can create on multi-tenant Penpot instances. The attacker issues an ::import-binfile RPC call over the network, supplying a file-id collected from a victim team. The server overwrites the target file with attacker-controlled binary content and adds the attacker to the file's WebSocket channel. Follow-on subscribers receive poisoned assets, and the attacker receives every subsequent edit event.

Refer to the Voke Cyber CVE-2026-17613 blog for a step-by-step exploitation walkthrough. No public exploit code is available in Exploit-DB at this time.

Detection Methods for CVE-2026-17613

Indicators of Compromise

  • Penpot audit or application logs containing ::import-binfile RPC calls where the acting user is not a member of the team owning the referenced file-id.
  • Unexpected version churn or content replacement on Penpot files, particularly those touched by low-privilege or newly created accounts.
  • WebSocket subscriptions to file channels originating from user sessions with no prior read history on those files.

Detection Strategies

  • Correlate RPC method names in Penpot backend logs with team and project membership tables to flag cross-team file-id references.
  • Alert on ::import-binfile calls that supply a file-id value the requester has never previously read or edited.
  • Baseline normal WebSocket subscription patterns per user and raise alerts on sudden fan-out across unrelated projects.

Monitoring Recommendations

  • Enable verbose RPC logging on the Penpot backend and forward logs to a centralized analytics platform for retention and search.
  • Monitor file-store write volume by user account and alert on statistical outliers, which suggest bulk overwrite activity.
  • Track authentication events for newly registered accounts that immediately issue ::import-binfile requests.

How to Mitigate CVE-2026-17613

Immediate Actions Required

  • Upgrade all Penpot instances to version 2.17.0 or later, as published on the Penpot 2.17.0 release page.
  • Audit recent ::import-binfile RPC activity for unauthorized cross-team file-id usage and restore affected files from backup where poisoning is suspected.
  • Restrict Penpot account registration on internet-facing instances until the patch is applied.

Patch Information

The Penpot maintainers addressed CVE-2026-17613 in Penpot 2.17.0. The fix adds authorization checks to the ::import-binfile RPC handler so the server verifies that the requesting user has write access to the supplied file-id before processing the payload or attaching WebSocket listeners. Release notes are available on the Penpot GitHub releases page, and product information is on the Penpot official website.

Workarounds

  • Place Penpot behind an authenticated reverse proxy that restricts access to trusted user populations until the patched version is deployed.
  • Disable open self-registration so that only vetted accounts can reach the ::import-binfile RPC endpoint.
  • Rotate or invalidate active Penpot sessions after upgrading to force re-authentication and drop pre-existing WebSocket subscriptions.
bash
# Configuration example: upgrade Penpot via Docker Compose
docker compose pull
docker compose down
docker compose up -d
# Verify the running backend image reports version 2.17.0 or later
docker compose exec penpot-backend printenv | grep -i version

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.