2026-09-27 13:9CVE-2026-100868VulnCheck
PUBLISHED5.2CWE-1327

Penpot before 2.18.0 Unauthenticated WebSocket Access via MCP Bridge

Penpot before 2.18.0 binds the MCP server plugin WebSocket bridge to all network interfaces without authentication in single-user mode. Unauthenticated attackers on adjacent networks can connect to the WebSocket port to impersonate the Penpot browser plugin, intercept task payloads, and return forged results to the MCP client.

Problem type

Affected products

penpot

penpot

< 2.18.0 - AFFECTED

@penpot/mcp

<= 2.15.4 - AFFECTED

References

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-100868
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-100868",
    "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
    "assignerShortName": "VulnCheck",
    "dateUpdated": "2026-09-27T13:09:53.387Z",
    "dateReserved": "2026-09-27T00:20:54.407Z",
    "datePublished": "2026-09-27T13:09:53.387Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "shortName": "VulnCheck",
        "dateUpdated": "2026-09-27T13:09:53.387Z"
      },
      "datePublic": "2026-09-22T00:00:00.000Z",
      "title": "Penpot before 2.18.0 Unauthenticated WebSocket Access via MCP Bridge",
      "descriptions": [
        {
          "lang": "en",
          "value": "Penpot before 2.18.0 binds the MCP server plugin WebSocket bridge to all network interfaces without authentication in single-user mode. Unauthenticated attackers on adjacent networks can connect to the WebSocket port to impersonate the Penpot browser plugin, intercept task payloads, and return forged results to the MCP client."
        }
      ],
      "affected": [
        {
          "vendor": "penpot",
          "product": "penpot",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "2.18.0"
            }
          ]
        },
        {
          "vendor": "penpot",
          "product": "@penpot/mcp",
          "collectionURL": "https://www.npmjs.com",
          "packageName": "@penpot/mcp",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "2.15.4"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "Binding to an Unrestricted IP Address",
              "cweId": "CWE-1327",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/penpot/penpot/security/advisories/GHSA-ch2q-6x56-qg5r",
          "name": "GitHub Security Advisory (GHSA-ch2q-6x56-qg5r)",
          "tags": [
            "vendor-advisory"
          ]
        },
        {
          "url": "https://github.com/penpot/penpot/commit/b5274a44766d095247037be18c1d1918ac67ddeb",
          "tags": [
            "patch"
          ]
        },
        {
          "url": "https://github.com/penpot/penpot/blob/1d2c37e52c733f74017d90b0fd1ae2d074a5c33d/mcp/packages/server/src/PluginBridge.ts#L52",
          "tags": [
            "technical-description"
          ]
        },
        {
          "url": "https://github.com/penpot/penpot/security/advisories/GHSA-22qr-rp27-j9wm",
          "name": "GitHub Security Advisory (GHSA-22qr-rp27-j9wm)",
          "tags": [
            "related",
            "vendor-advisory"
          ]
        },
        {
          "url": "https://github.com/penpot/penpot",
          "tags": [
            "product"
          ]
        },
        {
          "url": "https://www.vulncheck.com/advisories/penpot-before-2.18.0-unauthenticated-websocket-access-via-mcp-bridge",
          "name": "VulnCheck Advisory: Penpot before 2.18.0 Unauthenticated WebSocket Access via MCP Bridge",
          "tags": [
            "third-party-advisory"
          ]
        }
      ],
      "metrics": [
        {
          "format": "CVSS"
        },
        {
          "format": "CVSS",
          "cvssV3_1": {
            "version": "3.1",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L",
            "attackVector": "ADJACENT_NETWORK",
            "attackComplexity": "LOW",
            "privilegesRequired": "NONE",
            "userInteraction": "NONE",
            "scope": "UNCHANGED",
            "confidentialityImpact": "LOW",
            "integrityImpact": "LOW",
            "availabilityImpact": "LOW",
            "baseScore": 6.3,
            "baseSeverity": "MEDIUM"
          }
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "George Chen",
          "type": "finder"
        }
      ]
    }
  }
}