{"schema":"threatline.record/2","record":{"id":"CVE-2026-105689","aliases":["GHSA-wxgm-8qjw-x445"],"summary":"Penpot: SSRF guard bypass via IPv6 transition addresses (NAT64/6to4/Teredo) in webhook delivery and media download","details":"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.","categories":["Unclassified"],"product":"penpot","vendor":"penpot","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-105689","source_modified_at":"2026-10-08T02:23:53.207Z","fetched_at":"2026-10-23T18:48:36.087640Z","product":"penpot","vendor":"penpot","versions":[{"status":"affected","version":"< 2.18.0"}],"defaultStatus":null},{"source":"GitHub Advisory Database","source_url":"https://github.com/penpot/penpot/security/advisories/GHSA-wxgm-8qjw-x445","source_modified_at":"2026-10-05T19:50:22Z","fetched_at":"2026-10-24T14:26:37.433577Z","package":{"ecosystem":"","name":"penpot"},"range":"<2.18.0"}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/penpot/penpot/security/advisories/GHSA-wxgm-8qjw-x445","source_modified_at":"2026-10-05T19:50:22Z","fetched_at":"2026-10-24T14:26:37.433577Z","package":{"ecosystem":"","name":"penpot"},"version":"2.18.0"}],"cvss":6,"severity":"Medium","kev":{"listed":false},"epss":{"probability":0.00265,"percentile":0.17441,"score_date":"2026-10-23"},"published_at":"2026-10-05T19:51:04.208Z","modified_at":"2026-10-08T02:23:53.207Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-105689","fetched_at":"2026-10-23T18:48:36.087640Z","source_modified_at":"2026-10-08T02:23:53.207Z"},{"source":"GitHub Advisory Database","url":"https://github.com/penpot/penpot/security/advisories/GHSA-wxgm-8qjw-x445","fetched_at":"2026-10-24T14:26:37.433577Z","source_modified_at":"2026-10-05T19:50:22Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-105689","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","GitHub Advisory Database","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/penpot/penpot/security/advisories/GHSA-wxgm-8qjw-x445","tags":["exploit"]},{"source":"CVE List","url":"https://github.com/penpot/penpot/commit/326d83e780ae120b45ccd6f3d7bd24922b54461c","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/penpot/penpot/releases/tag/2.18.0","tags":["x_refsource_MISC"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"poc","automatable":"yes","technical_impact":"partial","assessed_at":"2026-10-08T02:23:29.430898Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-08T02:23:53.207Z","content_hash":"1dc2cea8eb0cfdaeed66ecccf5f12d77acecea8441e8c9b88670e45f721a098b"}}
