CVE Listesine Dön
CVE-2026-76894

ckan-mcp-server: DataStore Table UI resource does not validate postMessage origin (in) and posts to targetOrigin "*" (out)

CVSS Skor

3.1

EPSS İhtimal

—

Risk Skoru

0.3

Yayın

11 sa önce

Yama durumu henüz doğrulanamadı

Resmî kaynaklarda yeterli kanıt bulunamadı. Bu sonuç “yama yok” anlamına gelmez.

Envanterimdeki Etkisi

Yalnızca hesabınıza eklediğiniz kişisel ürünler değerlendirilir; kurumsal envanter burada görünmez.

Oturum kontrol ediliyor…

Zafiyet Açıklaması

CVE AI araştırması

Kayıtlı açıklama anında gösterilir; yenileme kaynakları tekrar değerlendirir.

DayBreach AI Açıklaması

Kaynakla doğrulandı

@aborruso/ckan-mcp-server Üzerinde postMessage Kaynak Doğrulama Eksikliği

Okunan kaynak

1

Kaynak uyumu

Tam uyum

Kanıt güveni

%55

Kısa açıklama

@aborruso/ckan-mcp-server paketindeki DataStore Tablosu UI bileşeni, postMessage tabanlı iletişimde gelen mesajların orijinini doğrulamaz ve giden mesajları '*' hedef orijiniyle gönderir.

Neden önemli?

Bu güvenlik açığı, içerik sahteciliğine, kullanıcı deneyimi girişimlerine ve dışarıya veri sızıntısına yol açarak savunma derinliği ihlallerine neden olabilir.

Ne yapılmalı?

  • Satıcı bildirimlerini takip edin
  • event.origin denetimi ekleyin
  • Hedef orijin için sabit değer kullanın
Kanıt zinciri ve kaynaklar2 doğrulanmış iddia

@aborruso/ckan-mcp-server paketinin < 0.4.112 sürümleri bu durumdan et 영향을 görmektedir.

Yama durumu incelenen resmî kaynaklarda doğrulanamamıştır.

Kaynaklardaki teknik metni göster

## Summary The MCP Apps UI resource (an interactive DataStore table rendered in the host's webview/iframe) communicates with its parent via `postMessage`. Its inbound `message` listener performs no `event.origin` validation, and its outbound messages are sent with target origin `'*'`. Any window/frame able to reach the document can inject data into the table and interfere with the MCP UI handshake, and the UI's own JSON-RPC messages are broadcast without an origin restriction. ## Affected code `src/resources/datastore-table-ui.ts` (inline HTML): ```js window.addEventListener('message', function (event) { var msg = event.data; // no check of event.origin if (!msg || typeof msg !== 'object') return; if (msg.id !== undefined && _pending[msg.id]) { ... resolve/reject pending MCP request ... } ... if (data && (data.fields || data.records)) initTable(data); // renders attacker-supplied data }); // outbound: window.parent.postMessage({ jsonrpc: '2.0', id: id, method: method, params: params || {} }, '*'); mcpNot: window.parent.postMessage({ jsonrpc:'2.0', method:method, params:params||{} }, '*'); ``` There is no allowlist of accepted origins for inbound messages and no fixed target origin for outbound messages. ## Impact - **Content spoofing.** A frame that can `postMessage` to the UI can supply arbitrary `fields`/`records`, causing the table to render fabricated rows and links (e.g. a phishing `__link_url`) that appear to come from the queried portal. (Values are HTML-escaped, so this is display spoofing, not script injection — no XSS.) - **Handshake/UX interference.** Because inbound messages matching a pending `id` resolve/reject the UI's MCP requests, an attacker frame can spoof responses to the `ui/initialize` handshake or otherwise disrupt the panel. - **Outbound leakage.** Posting to `'*'` 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. ## Proof of concept - `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. ## Remediation - Validate `event.origin` against the expected host origin on every inbound message; drop messages from other origins. - Send outbound `postMessage` with an explicit target origin (the host origin established at initialize time) instead of `'*'`. - Optionally, bind to a nonce/channel established during `ui/initialize` so only the negotiated host can drive the panel.

CVSS vektörü: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N

CWE: CWE-345, CWE-940

Açıklama yerel gemini-flash-lite-latest modeliyle üretildi. Sayısal metrikler, KEV, yama ve exploit durumları AI tarafından belirlenmez.

IMPACT — Etkilenen Ürünler ve Yazılımlar

Affected Products

The following products are affected by CVE-2026-76894 vulnerability. Even if our threat engine is aware of the exact versions of the products that are affected, the information is represented below.

IDVENDORPRODUCTACTION
1npm@aborruso/ckan-mcp-server İncele
Total Affected Vendor: 1|Products: 1

RED HAT CSAF/VEX — Ürün Etki Kontrolü

Red Hat bu CVE için henüz bir CSAF/VEX etki kaydı yayımlamamış. Bu durum “etkilenmiyor” anlamına gelmez.

SCORING — CVSS Çoklu Kaynak Skoru

CVSS Scores

The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and display CVSS scores from various sources for each CVE.

SCOREVERSIONSEVERITYVECTORSOURCE
3.1CVSS 3.x—Vektör yayımlanmadıGitHub Advisory
0.0CVSS 4.0—Vektör yayımlanmadıGitHub Advisory

Yama ve İyileştirme Rehberi (Solution)

Solution & Remediation Advisory

Yama durumu bilinmiyor

İncelenen resmî kaynaklarda yama durumu doğrulanamadı. Bu sonuç “yama yok” anlamına gelmez.

Etkilenen ürün ve sürümü yukarıdaki kaynak kanıtlarıyla doğrulayın.
İnternete açık servislerde erişimi kısıtlayın ve ağ segmentasyonu uygulayın.
Yama doğrulanana kadar üretici bültenini izleyin; bilinmeyen durumu “yama yok” olarak yorumlamayın.
Sunucu günlüklerini ve ağ uçlarını anormal çalıştırma belirtileri için izleyin.

Public exploit ve aktif sömürü durumu

Doğrulanmış exploit istihbaratı

Bu CVE için henüz doğrulanmış public PoC, exploit repository’si veya Metasploit modülü bulunamadı.

Zafiyet Dağılımı ve Saldırı Kalıpları (CWE & CAPEC)

CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-76894 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-76894 weaknesses.

Saldırı Vektörü ve Erişilebilirlik Karakteristiği

ErişimAğ üzerinden
YetkiGerekmiyor
KullanıcıGerekiyor

Resmi Kaynaklar ve Danışma Bültenleri

CVSS Vektör Radar Grafiği

3.1 / 10
Attack VectorNetworkComplexityHighPrivilegesNoneUser Interact.RequiredConfidentialityHighIntegrityNoneAvailabilityNone

Vulnerability Scoring Details

CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
Attack VectorNetwork (Ağ)
Attack ComplexityHigh (Yüksek)
Privileges RequiredNone (Gerekmiyor)
User Interaction—
Confidentiality (Gizlilik)High (Yüksek)
Integrity (Bütünlük)None (Yok)
Availability (Erişilebilirlik)None (Yok)

Yama durumu bilinmiyor

İncelenen resmî kaynaklarda yama durumu doğrulanamadı. Bu sonuç “yama yok” anlamına gelmez.

Üreticiyi takip et

N
npm logo
npm

Zafiyet Türü (CWE & CAPEC)

İlgili Benzer Açıklar

Bu açığı API ile alın

Etkilenen ürünler, sürüm aralıkları, istismar durumu ve yama bilgisi tek istekte; ücretsiz anahtarla.

curl -H "x-api-key: $DAYBREACH_API_KEY" \
  "https://api.daybreach.dev/api/v1/intel/cves/CVE-2026-76894"
CVE-2026-76894 · ckan-mcp-server: DataStore Table UI resource does not validate postMessage origin (in) and posts to targetOrigin "*" (out) · DayBreach