- Yama var
- Son 7 gün
- CWE-94
- CWE-269
- CWE-693
CVE-2026-120338
Prefab UI Pyodide sandbox'ı aşılarak sunucuda uzaktan kod çalıştırma
- Yayımlandı
- Güncellendi
- 1 Kas 2026
- Açık yaşı
- 0 gün
- Kaydı açan
- JFROG
Yönetici özeti
Bu açık, bir sunucuyu dışarıdan gelen herhangi bir kullanıcının tamamen kontrol etmesine yol açabilir ve veri hırsızlığı ya da sistemin uzun süre ele geçirilmesi riskini doğurur. Etkilenen bileşen isteğe bağlı bir özellik olsa da, etkinse acil müdahale gerektirir. Yama mevcut olduğundan güncelleme öncelikli bir iştir.
ÖzetTürkçe
Prefab UI'nin Generative UI özelliği, çağıranın gönderdiği Python kodunu Deno alt sürecinde Pyodide içinde çalıştırır ve bu alan güvenli izolasyon olarak sunulur. 0.14.0 ile 0.20.2 arasındaki sürümlerde Deno'ya sınırsız okuma, yazma ve ağ izinleri verilmiş ve Deno API'si JavaScript genel nesnesinde bırakılmıştır. Bu nedenle kod, sunucu işletim sistemi kullanıcısı olarak dosya okuyup yazabilmektedir. Etkilenen, bu özelliği etkinleştirmiş ve sunucuda Deno kurulu olan sistemlerdir.
Saldırgan ne yapabilir?
Saldırgan, kimlik doğrulaması olmayan bir MCP sunucusunda ya da araç çağırma yetkisi olan herhangi bir istemci üzerinden sunucu kullanıcısının yetkileriyle dosya okuyup yazabilir. Sanal ortamın site-packages dizinine bir .pth dosyası yazarak kod çalıştırmayı kalıcı hale getirebilir ve sistemi tamamen ele geçirebilir.
Kaynaktaki açıklama (İngilizce)
Prefab UI's Generative UI sandbox runs caller-supplied Python inside Pyodide, Python compiled to WebAssembly, in a Deno subprocess. The feature is documented as isolation for untrusted code, including LLM-written UI. From prefab-ui 0.14.0 through 0.20.2 the launcher starts Deno with unrestricted --allow-read, --allow-write, and --allow-net, and the runner leaves the Deno API on the JavaScript global object. Pyodide's js module proxies that global, so the Python can call Deno.readTextFileSync and Deno.writeTextFileSync. A caller who can supply the code can read and write files as the server OS user, and can persist code execution by writing a .pth file into the server virtualenv's site-packages. The usual remote path is FastMCP's GenerativeUI provider, which registers the MCP tool generate_prefab_ui and forwards that tool's code argument into this sandbox. On a FastMCP server with no authentication configured, any client who can reach the server can call the tool. With authentication, any client allowed to call tools can. Generative UI is opt-in, and the host must have Deno installed. Confirmed on prefab-ui 0.20.2. Fixed in 0.21.0: after the runtime and Prefab sources load, the runner revokes Deno read, write, and network permission before it accepts code, the process is started with --no-prompt so a permission request cannot grant them again, and bootstrap network access is limited to cdn.jsdelivr.net. The fix is commit 030f074 (pull request 538).
Ne yapmalı?
- prefab-ui paketini 0.21.0 veya daha yeni bir sürüme güncelleyin. Üretici
- Güncelleme yapılana kadar Generative UI özelliğini devre dışı bırakın veya bu özelliği sunan MCP aracını kullanıma kapatın. Genel öneri
- Sunucunun dışarıdan erişilebilir olup olmadığını kontrol edin ve MCP uç noktasını yalnızca güvenilir istemcilere açın. Genel öneri
- Sunucu kullanıcısının dosya sistemi yetkilerini sınırlayın ve sanal ortamın site-packages dizinine beklenmeyen .pth dosyası eklenip eklenmediğini inceleyin. Genel öneri
Ek önlemler
- Yapay zekâ tarafından üretilen veya güvenilmeyen kodu, ana sunucu sürecinden ayrı bir konteyner ya da sanal makinede çalıştırın. Genel öneri
- Sunucuda Deno ve benzeri çalışma zamanlarının gereksiz yere kurulu olup olmadığını kontrol edin. Genel öneri
- Sanal ortam dizinlerindeki dosya değişikliklerini izleyin ve beklenmeyen yazmaları uyarı olarak bildirin. Genel öneri
Bu açık kişisel verilerin sızmasına yol açabilir. Sistemlerinizde kullanıldığından şüpheleniyorsanız KVKK'daki ihlal bildirimi yükümlülüğünüzü (Kurul'a 72 saat içinde bildirim) hukuk danışmanınızla birlikte değerlendirin. Bu not hukuki tavsiye değildir.
Etkilenen sürümler1 yazılım
| Yazılım | Etkilenen | Düzeltildiği sürüm |
|---|---|---|
| PrefectHQ prefab-ui | ≥ 0.14.0, < 0.21.0 | 0.21.0 |
Kaynaklar11 kaynak
- CVE.org kaydı
- NVD kaydı
- github.com/…prefab/security/advisories/GHSA-595q-jv4r-q7j9 Üretici bülteni
- github.com/PrefectHQ/prefab/pull/538 Yama
- github.com/…ommit/030f074f85e0b1be0dd44b0283185aecb26337a2 Yama
- github.com/PrefectHQ/prefab Diğer
- pypi.org/project/prefab-ui Diğer
- github.com/PrefectHQ/prefab/releases/tag/v0.21.0 Diğer
- pypi.org/project/prefab-ui/0.21.0 Diğer
- github.com/PrefectHQ/prefab/releases/tag/v0.20.2 Diğer
- github.com/PrefectHQ/prefab/releases/tag/v0.14.0 Diğer
Kayıt geçmişi
- Yayımlandı
İlgili açıklar
Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.