SSRF guard bypass in Penpot via IPv6 transition addresses
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- High · None · Low
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
Penpot before 2.18.0 has an SSRF guard bypass (CWE-918). Its checks do not classify NAT64, 6to4, or Teredo IPv6 transition addresses. A user who controls a media import URL, or an administrator who controls a webhook URL, can supply such an address that embeds a cloud-metadata, loopback, link-local, or private IPv4 target. Media import can disclose response bodies, and webhook delivery can expose response status as a network-probing side channel.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
Penpot is an open-source design and prototyping platform. Prior to 2.18.0, app.util.ssrf/blocked-address? relies on Java InetAddress predicates that do not classify NAT64, 6to4, or Teredo addresses and applies additional CIDR checks only to IPv4 values. Exploitation requires routing through a NAT64 gateway or an attacker-controlled DNS AAAA record; cloud environments with NAT64 gateways are directly exploitable. A user controlling a media import URL, or an administrator controlling a webhook URL, can then supply an IPv6 transition address that embeds a cloud-metadata, loopback, link-local, or private IPv4 target and bypasses the intended SSRF restrictions. Media import can disclose response bodies, while webhook delivery can expose response status as a network-probing side channel. This issue is fixed in version 2.18.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade Penpot to version 2.18.0 or later, which fixes this issue.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA penpot (penpot) Fixed in 2.18.0
Timeline
- 2026-10-06 Threatist record created from CVE-2026-105689
- 2026-10-07 Priority changed: MEDIUM → LOW
- 2026-10-08 CISA SSVC decision points changed
- 2026-10-08 Priority changed: LOW → HIGH
References
More penpot vulnerabilities
- TI-2026-68335 OS command injection in Penpot SVG exporter via fill color CVSS 3.1CRITICAL 9.9
- TI-2026-32845 Penpot: Pre-authenticated account takeover via team-invitation token + prepare-register-profile CVSS 3.1CRITICAL 9.9
- TI-2026-35172 Penpot: Stored XSS via comment content, innerHTML renders unsanitized HTML CVSS 3.1HIGH 8.7
- TI-2026-33540 Penpot: MCP REPL server binds to 0.0.0.0 with unauthenticated /execute endpoint — RCE CVSS 3.1HIGH 8.8
- TI-2026-14441 Missing authorization in Penpot CVSS 3.1HIGH 7.5
- TI-2026-33541 Penpot: Authenticated SSRF in remote image import via create-file-media-object-from-url CVSS 3.1HIGH 7.7
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences