{"id":"CVE-2026-105689","state":"PUBLISHED","title":"Penpot: SSRF guard bypass via IPv6 transition addresses (NAT64/6to4/Teredo) in webhook delivery and media download","description":"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.","publishedAt":"2026-10-05T19:51:04.208Z","updatedAt":"2026-10-08T02:23:53.207Z","severity":{"score":6,"label":"Medium","version":"4.0","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["penpot penpot"],"affected":[{"vendor":"penpot","product":"penpot","versions":[{"version":"< 2.18.0","status":"affected"}]}],"references":["https://github.com/penpot/penpot/security/advisories/GHSA-wxgm-8qjw-x445","https://github.com/penpot/penpot/commit/326d83e780ae120b45ccd6f3d7bd24922b54461c","https://github.com/penpot/penpot/releases/tag/2.18.0"],"weaknesses":["CWE-918"],"ingestedAt":"2026-10-29T20:10:23.711Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/105xxx/CVE-2026-105689.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-105689","state":"PUBLISHED","datePublished":"2026-10-05T19:51:04.208Z","dateUpdated":"2026-10-08T02:23:53.207Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-10-05T17:48:58.626Z"},"containers":{"cna":{"title":"Penpot: SSRF guard bypass via IPv6 transition addresses (NAT64/6to4/Teredo) in webhook delivery and media download","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"penpot","product":"penpot","versions":[{"version":"< 2.18.0","status":"affected"}]}],"references":[{"url":"https://github.com/penpot/penpot/security/advisories/GHSA-wxgm-8qjw-x445","name":"https://github.com/penpot/penpot/security/advisories/GHSA-wxgm-8qjw-x445","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/penpot/penpot/commit/326d83e780ae120b45ccd6f3d7bd24922b54461c","name":"https://github.com/penpot/penpot/commit/326d83e780ae120b45ccd6f3d7bd24922b54461c","tags":["x_refsource_MISC"]},{"url":"https://github.com/penpot/penpot/releases/tag/2.18.0","name":"https://github.com/penpot/penpot/releases/tag/2.18.0","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"LOW","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":6,"baseSeverity":"MEDIUM","vectorString":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-918","lang":"en","description":"CWE-918: Server-Side Request Forgery (SSRF)","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-05T19:51:04.208Z"},"source":{"advisory":"GHSA-wxgm-8qjw-x445","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/penpot/penpot/security/advisories/GHSA-wxgm-8qjw-x445","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-08T02:23:29.430898Z","id":"CVE-2026-105689","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-08T02:23:53.207Z"}}]}}}