{"api_version":"1","generated_at":"2026-10-05T21:52:43+00:00","cve":"CVE-2026-105695","urls":{"html":"https://cve.report/CVE-2026-105695","api":"https://cve.report/api/cve/CVE-2026-105695.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-105695","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-105695"},"summary":{"title":"Penpot: Missing authorization in chunked-upload assembly lets another authenticated user consume a victim's upload session","description":"Penpot is an open-source design and prototyping platform. Prior to 2.18.0, assemble-chunks retrieves an upload session using only its session ID, while upload-chunk correctly scopes the lookup to the authenticated profile. An authenticated user who obtains another user's live, completed upload-session UUID can assemble the victim's chunks into the attacker's own file, team font, or project import, disclosing the uploaded bytes and deleting the victim's pending session. This issue is fixed in version 2.18.0.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-05 20:17:20","updated_at":"2026-10-05 21:16:34"},"problem_types":["CWE-862","CWE-862 CWE-862: Missing Authorization"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"5.9","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:L","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:L","baseScore":5.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"LOW"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"5.9","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:L","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":5.9,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:L","version":"3.1"}}],"references":[{"url":"https://github.com/penpot/penpot/commit/367e4d534c536c33d4f3fbad375f3e9c29b787a6","name":"https://github.com/penpot/penpot/commit/367e4d534c536c33d4f3fbad375f3e9c29b787a6","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/penpot/penpot/releases/tag/2.18.0","name":"https://github.com/penpot/penpot/releases/tag/2.18.0","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/penpot/penpot/pull/11012","name":"https://github.com/penpot/penpot/pull/11012","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/penpot/penpot/security/advisories/GHSA-5vrm-3c6w-gjfv","name":"https://github.com/penpot/penpot/security/advisories/GHSA-5vrm-3c6w-gjfv","refsource":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-105695","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-105695","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"penpot","product":"penpot","version":"affected < 2.18.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-105695","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-10-05T20:40:35.188252Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-10-05T20:40:42.567Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"references":[{"tags":["exploit"],"url":"https://github.com/penpot/penpot/security/advisories/GHSA-5vrm-3c6w-gjfv"}],"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"penpot","vendor":"penpot","versions":[{"status":"affected","version":"< 2.18.0"}]}],"descriptions":[{"lang":"en","value":"Penpot is an open-source design and prototyping platform. Prior to 2.18.0, assemble-chunks retrieves an upload session using only its session ID, while upload-chunk correctly scopes the lookup to the authenticated profile. An authenticated user who obtains another user's live, completed upload-session UUID can assemble the victim's chunks into the attacker's own file, team font, or project import, disclosing the uploaded bytes and deleting the victim's pending session. This issue is fixed in version 2.18.0."}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":5.9,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:L","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-862","description":"CWE-862: Missing Authorization","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-05T20:04:22.743Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/penpot/penpot/security/advisories/GHSA-5vrm-3c6w-gjfv","tags":["x_refsource_CONFIRM"],"url":"https://github.com/penpot/penpot/security/advisories/GHSA-5vrm-3c6w-gjfv"},{"name":"https://github.com/penpot/penpot/pull/11012","tags":["x_refsource_MISC"],"url":"https://github.com/penpot/penpot/pull/11012"},{"name":"https://github.com/penpot/penpot/commit/367e4d534c536c33d4f3fbad375f3e9c29b787a6","tags":["x_refsource_MISC"],"url":"https://github.com/penpot/penpot/commit/367e4d534c536c33d4f3fbad375f3e9c29b787a6"},{"name":"https://github.com/penpot/penpot/releases/tag/2.18.0","tags":["x_refsource_MISC"],"url":"https://github.com/penpot/penpot/releases/tag/2.18.0"}],"source":{"advisory":"GHSA-5vrm-3c6w-gjfv","discovery":"UNKNOWN"},"title":"Penpot: Missing authorization in chunked-upload assembly lets another authenticated user consume a victim's upload session"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-105695","datePublished":"2026-10-05T20:04:22.743Z","dateReserved":"2026-10-05T17:48:58.627Z","dateUpdated":"2026-10-05T20:40:42.567Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-05 20:17:20","lastModifiedDate":"2026-10-05 21:16:34","problem_types":["CWE-862","CWE-862 CWE-862: Missing Authorization"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:L","baseScore":5.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"LOW"},"exploitabilityScore":1.6,"impactScore":4.2}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-10-05T20:40:35.188252Z","id":"CVE-2026-105695","options":[{"exploitation":"poc"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"105695","Ordinal":"1","Title":"Penpot: Missing authorization in chunked-upload assembly lets an","CVE":"CVE-2026-105695","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"105695","Ordinal":"1","NoteData":"Penpot is an open-source design and prototyping platform. Prior to 2.18.0, assemble-chunks retrieves an upload session using only its session ID, while upload-chunk correctly scopes the lookup to the authenticated profile. An authenticated user who obtains another user's live, completed upload-session UUID can assemble the victim's chunks into the attacker's own file, team font, or project import, disclosing the uploaded bytes and deleting the victim's pending session. This issue is fixed in version 2.18.0.","Type":"Description","Title":"Penpot: Missing authorization in chunked-upload assembly lets an"}]}}}