낮음취약점
ckan-mcp-server: DataStore Table UI resource does not validate postMessage origin (in) and posts to targetOrigin "*" (out)
GHSA-vqff-r82h-9crc · CVE-2026-76894 · 갱신 2026. 10. 17.
영향 받는 패키지
| 생태계 | 패키지 | 수정 버전 |
|---|---|---|
| npm | @aborruso/ckan-mcp-server | 0.4.112 |
GHSA-vqff-r82h-9crc · CVE-2026-76894 · 갱신 2026. 10. 17.
| 생태계 | 패키지 | 수정 버전 |
|---|---|---|
| npm | @aborruso/ckan-mcp-server | 0.4.112 |
ui/initialize'*' means the UI's JSON-RPC messages are
delivered to whatever the parent origin is; if the resource is ever embedded by
a context other than the trusted host, those messages leak to it.Exploitability depends on the host embedding model (in a correct MCP Apps host the parent is the trusted host, which limits who can message the frame), so this is a hardening / defense-in-depth issue rather than a directly remotely-triggerable one — hence Low.
poc/verify-no-origin-check.mjs — static confirmation that the listener has no
origin check and outbound uses '*':
[x] validates event.origin : NO
[x] outgoing postMessage targetOrigin : '*' (any)
RESULT: VULNERABLE
poc/parent-spoof-poc.html — a page that embeds the UI and injects fabricated
rows cross-origin with no handshake; the UI renders them.
event.origin against the expected host origin on every inbound
message; drop messages from other origins.postMessage with an explicit target origin (the host origin
established at initialize time) instead of '*'.ui/initialize so only
the negotiated host can drive the panel.