Search
Find a vulnerability
Search criteria
8 vulnerabilities found for penpot by penpot
CVE-2026-45806 (GCVE-0-2026-45806)
Vulnerability from nvd – Published: 2026-07-15 15:05 – Updated: 2026-07-15 15:05
VLAI
EPSS
VEX
Title
Penpot: Authenticated SSRF in remote image import via create-file-media-object-from-url
Summary
Penpot is an open-source design tool for design and code collaboration. Prior to 2.15.0, Penpot's remote image import passed the user-controlled url from frontend/src/app/main/data/workspace/media.cljs into the backend RPC method :create-file-media-object-from-url in backend/src/app/rpc/commands/media.clj, where media/download-image in backend/src/app/media.clj used the shared HTTP client without destination filtering, allowing an authenticated file editor to reach internal-only endpoints. This issue is fixed in version 2.15.0.
Severity
7.7 (High)
CWE
- CWE-918 - Server-Side Request Forgery (SSRF)
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://github.com/penpot/penpot/security/advisor… | x_refsource_CONFIRM |
| https://github.com/penpot/penpot/releases/tag/2.15.0 | x_refsource_MISC |
{
"containers": {
"cna": {
"affected": [
{
"product": "penpot",
"vendor": "penpot",
"versions": [
{
"status": "affected",
"version": "\u003c 2.15.0"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Penpot is an open-source design tool for design and code collaboration. Prior to 2.15.0, Penpot\u0027s remote image import passed the user-controlled url from frontend/src/app/main/data/workspace/media.cljs into the backend RPC method :create-file-media-object-from-url in backend/src/app/rpc/commands/media.clj, where media/download-image in backend/src/app/media.clj used the shared HTTP client without destination filtering, allowing an authenticated file editor to reach internal-only endpoints. This issue is fixed in version 2.15.0."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 7.7,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-918",
"description": "CWE-918: Server-Side Request Forgery (SSRF)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:05:35.962Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/penpot/penpot/security/advisories/GHSA-35g2-w7f6-8v9h",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-35g2-w7f6-8v9h"
},
{
"name": "https://github.com/penpot/penpot/releases/tag/2.15.0",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/releases/tag/2.15.0"
}
],
"source": {
"advisory": "GHSA-35g2-w7f6-8v9h",
"discovery": "UNKNOWN"
},
"title": "Penpot: Authenticated SSRF in remote image import via create-file-media-object-from-url"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-45806",
"datePublished": "2026-07-15T15:05:35.962Z",
"dateReserved": "2026-05-13T08:19:32.604Z",
"dateUpdated": "2026-07-15T15:05:35.962Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-45805 (GCVE-0-2026-45805)
Vulnerability from nvd – Published: 2026-07-15 15:11 – Updated: 2026-07-15 15:44
VLAI
EPSS
VEX
Title
Penpot: MCP REPL server binds to 0.0.0.0 with unauthenticated /execute endpoint — RCE
Summary
Penpot is an open-source design tool for design and code collaboration. Prior to 2.15.0, Penpot MCP's mcp/packages/server/src/ReplServer.ts bound the ReplServer to 0.0.0.0:4403 and exposed an unauthenticated /execute endpoint that passed the code field to PluginBridge.executePluginTask(), allowing anyone on the network to execute JavaScript on the server. This issue is fixed in version 2.15.0.
Severity
8.8 (High)
SSVC
Exploitation: poc
Automatable: no
Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
- CWE-749 - Exposed Dangerous Method or Function
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/penpot/penpot/security/advisor… | x_refsource_CONFIRM |
| https://github.com/penpot/penpot/issues/9518 | x_refsource_MISC |
| https://github.com/penpot/penpot/commit/798ee46b4… | x_refsource_MISC |
| https://github.com/penpot/penpot/releases/tag/2.15.0 | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-45805",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-15T15:44:07.480732Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:44:45.199Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-22qr-rp27-j9wm"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "penpot",
"vendor": "penpot",
"versions": [
{
"status": "affected",
"version": "\u003c 2.15.0"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Penpot is an open-source design tool for design and code collaboration. Prior to 2.15.0, Penpot MCP\u0027s mcp/packages/server/src/ReplServer.ts bound the ReplServer to 0.0.0.0:4403 and exposed an unauthenticated /execute endpoint that passed the code field to PluginBridge.executePluginTask(), allowing anyone on the network to execute JavaScript on the server. This issue is fixed in version 2.15.0."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "ADJACENT_NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-749",
"description": "CWE-749: Exposed Dangerous Method or Function",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:11:22.168Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/penpot/penpot/security/advisories/GHSA-22qr-rp27-j9wm",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-22qr-rp27-j9wm"
},
{
"name": "https://github.com/penpot/penpot/issues/9518",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/issues/9518"
},
{
"name": "https://github.com/penpot/penpot/commit/798ee46b4a84ee6dfc756b001f33acbe0280d62f",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/commit/798ee46b4a84ee6dfc756b001f33acbe0280d62f"
},
{
"name": "https://github.com/penpot/penpot/releases/tag/2.15.0",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/releases/tag/2.15.0"
}
],
"source": {
"advisory": "GHSA-22qr-rp27-j9wm",
"discovery": "UNKNOWN"
},
"title": "Penpot: MCP REPL server binds to 0.0.0.0 with unauthenticated /execute endpoint \u2014 RCE"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-45805",
"datePublished": "2026-07-15T15:11:22.168Z",
"dateReserved": "2026-05-13T08:19:32.604Z",
"dateUpdated": "2026-07-15T15:44:45.199Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44986 (GCVE-0-2026-44986)
Vulnerability from nvd – Published: 2026-07-15 15:08 – Updated: 2026-07-15 15:40
VLAI
EPSS
VEX
Title
Penpot: Pre-authenticated account takeover via team-invitation token + prepare-register-profile
Summary
Penpot is an open-source design tool for design and code collaboration. Prior to 2.14.5, Penpot exposed teams_invitations.clj invitation tokens from create-team-invitations, embedded an existing profile id in auth.clj prepare-register-profile, and had auth.clj register-profile issue a session based on the invitation email match without password verification, allowing a registered user to take over any non-blocked profile. This issue is fixed in version 2.14.5.
Severity
9.9 (Critical)
SSVC
Exploitation: poc
Automatable: no
Technical Impact: total
CISA Coordinator (v2.0.3)
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/penpot/penpot/security/advisor… | x_refsource_CONFIRM |
| https://github.com/penpot/penpot/pull/9380 | x_refsource_MISC |
| https://github.com/penpot/penpot/commit/9e681260c… | x_refsource_MISC |
| https://github.com/penpot/penpot/releases/tag/2.14.5 | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44986",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-15T15:38:57.134851Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:40:07.943Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-4937-35vc-hqjj"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "penpot",
"vendor": "penpot",
"versions": [
{
"status": "affected",
"version": "\u003c 2.14.5"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Penpot is an open-source design tool for design and code collaboration. Prior to 2.14.5, Penpot exposed teams_invitations.clj invitation tokens from create-team-invitations, embedded an existing profile id in auth.clj prepare-register-profile, and had auth.clj register-profile issue a session based on the invitation email match without password verification, allowing a registered user to take over any non-blocked profile. This issue is fixed in version 2.14.5."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 9.9,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-287",
"description": "CWE-287: Improper Authentication",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639: Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:08:37.367Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/penpot/penpot/security/advisories/GHSA-4937-35vc-hqjj",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-4937-35vc-hqjj"
},
{
"name": "https://github.com/penpot/penpot/pull/9380",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/pull/9380"
},
{
"name": "https://github.com/penpot/penpot/commit/9e681260ccc4feb6c564ff0773fb9594b462c574",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/commit/9e681260ccc4feb6c564ff0773fb9594b462c574"
},
{
"name": "https://github.com/penpot/penpot/releases/tag/2.14.5",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/releases/tag/2.14.5"
}
],
"source": {
"advisory": "GHSA-4937-35vc-hqjj",
"discovery": "UNKNOWN"
},
"title": "Penpot: Pre-authenticated account takeover via team-invitation token + prepare-register-profile"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-44986",
"datePublished": "2026-07-15T15:08:37.367Z",
"dateReserved": "2026-05-08T16:23:33.265Z",
"dateUpdated": "2026-07-15T15:40:07.943Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-26202 (GCVE-0-2026-26202)
Vulnerability from nvd – Published: 2026-02-19 19:23 – Updated: 2026-02-19 21:22
VLAI
EPSS
VEX
Title
Penpot has Arbitrary File Read via create-font-variant RPC endpoint
Summary
Penpot is an open-source design tool for design and code collaboration. Prior to version 2.13.2, an authenticated user can read arbitrary files from the server by supplying a local file path (e.g. `/etc/passwd`) as a font data chunk in the `create-font-variant` RPC endpoint, resulting in the file contents being stored and retrievable as a "font" asset. This is an arbitrary file read vulnerability. Any authenticated user with team edit permissions can read arbitrary files accessible to the Penpot backend process on the host filesystem. This can lead to exposure of sensitive system files, application secrets, database credentials, and private keys, potentially enabling further compromise of the server. In containerized deployments, the blast radius may be limited to the container filesystem, but environment variables, mounted secrets, and application configuration are still at risk. Version 2.13.2 contains a patch for the issue.
Severity
7.5 (High)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://github.com/penpot/penpot/security/advisor… | x_refsource_CONFIRM |
| https://github.com/penpot/penpot/commit/06e5825c8… | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-26202",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-02-19T21:17:25.415920Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-02-19T21:22:40.897Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "penpot",
"vendor": "penpot",
"versions": [
{
"status": "affected",
"version": "\u003c 2.13.2"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Penpot is an open-source design tool for design and code collaboration. Prior to version 2.13.2, an authenticated user can read arbitrary files from the server by supplying a local file path (e.g. `/etc/passwd`) as a font data chunk in the `create-font-variant` RPC endpoint, resulting in the file contents being stored and retrievable as a \"font\" asset. This is an arbitrary file read vulnerability. Any authenticated user with team edit permissions can read arbitrary files accessible to the Penpot backend process on the host filesystem. This can lead to exposure of sensitive system files, application secrets, database credentials, and private keys, potentially enabling further compromise of the server. In containerized deployments, the blast radius may be limited to the container filesystem, but environment variables, mounted secrets, and application configuration are still at risk. Version 2.13.2 contains a patch for the issue."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-22",
"description": "CWE-22: Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-73",
"description": "CWE-73: External Control of File Name or Path",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-02-19T19:23:49.349Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/penpot/penpot/security/advisories/GHSA-xp3f-g8rq-9px2",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-xp3f-g8rq-9px2"
},
{
"name": "https://github.com/penpot/penpot/commit/06e5825c8a0209889966a4eb5152efd6ff108626",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/commit/06e5825c8a0209889966a4eb5152efd6ff108626"
}
],
"source": {
"advisory": "GHSA-xp3f-g8rq-9px2",
"discovery": "UNKNOWN"
},
"title": "Penpot has Arbitrary File Read via create-font-variant RPC endpoint"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-26202",
"datePublished": "2026-02-19T19:23:49.349Z",
"dateReserved": "2026-02-11T19:56:24.813Z",
"dateUpdated": "2026-02-19T21:22:40.897Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-45805 (GCVE-0-2026-45805)
Vulnerability from cvelistv5 – Published: 2026-07-15 15:11 – Updated: 2026-07-15 15:44
VLAI
EPSS
VEX
Title
Penpot: MCP REPL server binds to 0.0.0.0 with unauthenticated /execute endpoint — RCE
Summary
Penpot is an open-source design tool for design and code collaboration. Prior to 2.15.0, Penpot MCP's mcp/packages/server/src/ReplServer.ts bound the ReplServer to 0.0.0.0:4403 and exposed an unauthenticated /execute endpoint that passed the code field to PluginBridge.executePluginTask(), allowing anyone on the network to execute JavaScript on the server. This issue is fixed in version 2.15.0.
Severity
8.8 (High)
SSVC
Exploitation: poc
Automatable: no
Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
- CWE-749 - Exposed Dangerous Method or Function
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/penpot/penpot/security/advisor… | x_refsource_CONFIRM |
| https://github.com/penpot/penpot/issues/9518 | x_refsource_MISC |
| https://github.com/penpot/penpot/commit/798ee46b4… | x_refsource_MISC |
| https://github.com/penpot/penpot/releases/tag/2.15.0 | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-45805",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-15T15:44:07.480732Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:44:45.199Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-22qr-rp27-j9wm"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "penpot",
"vendor": "penpot",
"versions": [
{
"status": "affected",
"version": "\u003c 2.15.0"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Penpot is an open-source design tool for design and code collaboration. Prior to 2.15.0, Penpot MCP\u0027s mcp/packages/server/src/ReplServer.ts bound the ReplServer to 0.0.0.0:4403 and exposed an unauthenticated /execute endpoint that passed the code field to PluginBridge.executePluginTask(), allowing anyone on the network to execute JavaScript on the server. This issue is fixed in version 2.15.0."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "ADJACENT_NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-749",
"description": "CWE-749: Exposed Dangerous Method or Function",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:11:22.168Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/penpot/penpot/security/advisories/GHSA-22qr-rp27-j9wm",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-22qr-rp27-j9wm"
},
{
"name": "https://github.com/penpot/penpot/issues/9518",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/issues/9518"
},
{
"name": "https://github.com/penpot/penpot/commit/798ee46b4a84ee6dfc756b001f33acbe0280d62f",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/commit/798ee46b4a84ee6dfc756b001f33acbe0280d62f"
},
{
"name": "https://github.com/penpot/penpot/releases/tag/2.15.0",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/releases/tag/2.15.0"
}
],
"source": {
"advisory": "GHSA-22qr-rp27-j9wm",
"discovery": "UNKNOWN"
},
"title": "Penpot: MCP REPL server binds to 0.0.0.0 with unauthenticated /execute endpoint \u2014 RCE"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-45805",
"datePublished": "2026-07-15T15:11:22.168Z",
"dateReserved": "2026-05-13T08:19:32.604Z",
"dateUpdated": "2026-07-15T15:44:45.199Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-44986 (GCVE-0-2026-44986)
Vulnerability from cvelistv5 – Published: 2026-07-15 15:08 – Updated: 2026-07-15 15:40
VLAI
EPSS
VEX
Title
Penpot: Pre-authenticated account takeover via team-invitation token + prepare-register-profile
Summary
Penpot is an open-source design tool for design and code collaboration. Prior to 2.14.5, Penpot exposed teams_invitations.clj invitation tokens from create-team-invitations, embedded an existing profile id in auth.clj prepare-register-profile, and had auth.clj register-profile issue a session based on the invitation email match without password verification, allowing a registered user to take over any non-blocked profile. This issue is fixed in version 2.14.5.
Severity
9.9 (Critical)
SSVC
Exploitation: poc
Automatable: no
Technical Impact: total
CISA Coordinator (v2.0.3)
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/penpot/penpot/security/advisor… | x_refsource_CONFIRM |
| https://github.com/penpot/penpot/pull/9380 | x_refsource_MISC |
| https://github.com/penpot/penpot/commit/9e681260c… | x_refsource_MISC |
| https://github.com/penpot/penpot/releases/tag/2.14.5 | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44986",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-15T15:38:57.134851Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:40:07.943Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-4937-35vc-hqjj"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "penpot",
"vendor": "penpot",
"versions": [
{
"status": "affected",
"version": "\u003c 2.14.5"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Penpot is an open-source design tool for design and code collaboration. Prior to 2.14.5, Penpot exposed teams_invitations.clj invitation tokens from create-team-invitations, embedded an existing profile id in auth.clj prepare-register-profile, and had auth.clj register-profile issue a session based on the invitation email match without password verification, allowing a registered user to take over any non-blocked profile. This issue is fixed in version 2.14.5."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 9.9,
"baseSeverity": "CRITICAL",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-287",
"description": "CWE-287: Improper Authentication",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639: Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:08:37.367Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/penpot/penpot/security/advisories/GHSA-4937-35vc-hqjj",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-4937-35vc-hqjj"
},
{
"name": "https://github.com/penpot/penpot/pull/9380",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/pull/9380"
},
{
"name": "https://github.com/penpot/penpot/commit/9e681260ccc4feb6c564ff0773fb9594b462c574",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/commit/9e681260ccc4feb6c564ff0773fb9594b462c574"
},
{
"name": "https://github.com/penpot/penpot/releases/tag/2.14.5",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/releases/tag/2.14.5"
}
],
"source": {
"advisory": "GHSA-4937-35vc-hqjj",
"discovery": "UNKNOWN"
},
"title": "Penpot: Pre-authenticated account takeover via team-invitation token + prepare-register-profile"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-44986",
"datePublished": "2026-07-15T15:08:37.367Z",
"dateReserved": "2026-05-08T16:23:33.265Z",
"dateUpdated": "2026-07-15T15:40:07.943Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-45806 (GCVE-0-2026-45806)
Vulnerability from cvelistv5 – Published: 2026-07-15 15:05 – Updated: 2026-07-15 15:05
VLAI
EPSS
VEX
Title
Penpot: Authenticated SSRF in remote image import via create-file-media-object-from-url
Summary
Penpot is an open-source design tool for design and code collaboration. Prior to 2.15.0, Penpot's remote image import passed the user-controlled url from frontend/src/app/main/data/workspace/media.cljs into the backend RPC method :create-file-media-object-from-url in backend/src/app/rpc/commands/media.clj, where media/download-image in backend/src/app/media.clj used the shared HTTP client without destination filtering, allowing an authenticated file editor to reach internal-only endpoints. This issue is fixed in version 2.15.0.
Severity
7.7 (High)
CWE
- CWE-918 - Server-Side Request Forgery (SSRF)
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://github.com/penpot/penpot/security/advisor… | x_refsource_CONFIRM |
| https://github.com/penpot/penpot/releases/tag/2.15.0 | x_refsource_MISC |
{
"containers": {
"cna": {
"affected": [
{
"product": "penpot",
"vendor": "penpot",
"versions": [
{
"status": "affected",
"version": "\u003c 2.15.0"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Penpot is an open-source design tool for design and code collaboration. Prior to 2.15.0, Penpot\u0027s remote image import passed the user-controlled url from frontend/src/app/main/data/workspace/media.cljs into the backend RPC method :create-file-media-object-from-url in backend/src/app/rpc/commands/media.clj, where media/download-image in backend/src/app/media.clj used the shared HTTP client without destination filtering, allowing an authenticated file editor to reach internal-only endpoints. This issue is fixed in version 2.15.0."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 7.7,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "CHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-918",
"description": "CWE-918: Server-Side Request Forgery (SSRF)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-15T15:05:35.962Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/penpot/penpot/security/advisories/GHSA-35g2-w7f6-8v9h",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-35g2-w7f6-8v9h"
},
{
"name": "https://github.com/penpot/penpot/releases/tag/2.15.0",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/releases/tag/2.15.0"
}
],
"source": {
"advisory": "GHSA-35g2-w7f6-8v9h",
"discovery": "UNKNOWN"
},
"title": "Penpot: Authenticated SSRF in remote image import via create-file-media-object-from-url"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-45806",
"datePublished": "2026-07-15T15:05:35.962Z",
"dateReserved": "2026-05-13T08:19:32.604Z",
"dateUpdated": "2026-07-15T15:05:35.962Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-26202 (GCVE-0-2026-26202)
Vulnerability from cvelistv5 – Published: 2026-02-19 19:23 – Updated: 2026-02-19 21:22
VLAI
EPSS
VEX
Title
Penpot has Arbitrary File Read via create-font-variant RPC endpoint
Summary
Penpot is an open-source design tool for design and code collaboration. Prior to version 2.13.2, an authenticated user can read arbitrary files from the server by supplying a local file path (e.g. `/etc/passwd`) as a font data chunk in the `create-font-variant` RPC endpoint, resulting in the file contents being stored and retrievable as a "font" asset. This is an arbitrary file read vulnerability. Any authenticated user with team edit permissions can read arbitrary files accessible to the Penpot backend process on the host filesystem. This can lead to exposure of sensitive system files, application secrets, database credentials, and private keys, potentially enabling further compromise of the server. In containerized deployments, the blast radius may be limited to the container filesystem, but environment variables, mounted secrets, and application configuration are still at risk. Version 2.13.2 contains a patch for the issue.
Severity
7.5 (High)
SSVC
Exploitation: none
Automatable: yes
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
Assigner
References
2 references
| URL | Tags |
|---|---|
| https://github.com/penpot/penpot/security/advisor… | x_refsource_CONFIRM |
| https://github.com/penpot/penpot/commit/06e5825c8… | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-26202",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-02-19T21:17:25.415920Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-02-19T21:22:40.897Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "penpot",
"vendor": "penpot",
"versions": [
{
"status": "affected",
"version": "\u003c 2.13.2"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Penpot is an open-source design tool for design and code collaboration. Prior to version 2.13.2, an authenticated user can read arbitrary files from the server by supplying a local file path (e.g. `/etc/passwd`) as a font data chunk in the `create-font-variant` RPC endpoint, resulting in the file contents being stored and retrievable as a \"font\" asset. This is an arbitrary file read vulnerability. Any authenticated user with team edit permissions can read arbitrary files accessible to the Penpot backend process on the host filesystem. This can lead to exposure of sensitive system files, application secrets, database credentials, and private keys, potentially enabling further compromise of the server. In containerized deployments, the blast radius may be limited to the container filesystem, but environment variables, mounted secrets, and application configuration are still at risk. Version 2.13.2 contains a patch for the issue."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-22",
"description": "CWE-22: Improper Limitation of a Pathname to a Restricted Directory (\u0027Path Traversal\u0027)",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-73",
"description": "CWE-73: External Control of File Name or Path",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-02-19T19:23:49.349Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/penpot/penpot/security/advisories/GHSA-xp3f-g8rq-9px2",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/penpot/penpot/security/advisories/GHSA-xp3f-g8rq-9px2"
},
{
"name": "https://github.com/penpot/penpot/commit/06e5825c8a0209889966a4eb5152efd6ff108626",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/penpot/penpot/commit/06e5825c8a0209889966a4eb5152efd6ff108626"
}
],
"source": {
"advisory": "GHSA-xp3f-g8rq-9px2",
"discovery": "UNKNOWN"
},
"title": "Penpot has Arbitrary File Read via create-font-variant RPC endpoint"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-26202",
"datePublished": "2026-02-19T19:23:49.349Z",
"dateReserved": "2026-02-11T19:56:24.813Z",
"dateUpdated": "2026-02-19T21:22:40.897Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}