مستغلة: 178
الأحدثCVE-2026-115732 — تجاوز تفويض اسم الشهادة
VulnFeed.org
AREN
10.0
CVE-2026-120338RCEيتوفر تصحيح

الهروب من بيئة العزل Pyodide في Prefab UI إلى تنفيذ أوامر عن بُعد على المضيف

PrefectHQ prefab-uiقراءة 2 داقرأ بلغة

ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.

الملخص

تشغّل بيئة العزل (sandbox) الخاصة بـ Generative UI في Prefab UI شيفرة Python المقدّمة من المستدعي داخل Pyodide (وهو Python مجمّع إلى WebAssembly) ضمن عملية فرعية لـ Deno. تم توثيق هذه الميزة على أنها توفّر العزل للشيفرات غير الموثوقة، بما في ذلك واجهات المستخدم المكتوبة بواسطة نماذج اللغة الكبيرة (LLM). من الإصدار 0.14.0 حتى 0.20.2 من prefab-ui، يبدأ برنامج التشغيل Deno مع خيارات غير مقيدة هي --allow-read و--allow-write و--allow-net، ويترك المشغّل واجهة برمجة التطبيقات Deno API على الكائن العام لـ JavaScript. تقوم وحدة js في Pyodide بتمرير ذلك الكائن العام، مما يتيح لشيفرة Python استدعاء Deno.readTextFileSync وDeno.writeTextFileSync. يمكن للمستدعي الذي يمكنه تقديم الشيفرة قراءة الملفات وكتابتها بصلاحيات مستخدم نظام تشغيل الخادم، كما يمكنه استدامة تنفيذ الشيفرة عن طريق كتابة ملف .pth داخل مجلد site-packages في البيئة الافتراضية (virtualenv) للخادم. المسار البعيد المعتاد هو موفّر GenerativeUI في FastMCP، الذي يسجل أداة MCP المسماة generate_prefab_ui ويمرر وسيط code الخاص بهذه الأداة إلى بيئة العزل هذه. على خادم FastMCP لم تُضبَط فيه أي مصادقة، يمكن لأي عميل يمكنه الوصول إلى الخادم استدعاء هذه الأداة. وفي حال وجود مصادقة، يمكن لأي عميل يُسمح له باستدعاء الأدوات القيام بذلك. تُعد ميزة Generative UI اختيارية (opt-in)، ويجب أن يكون Deno مثبتًا على المضيف. تم التأكد من الثغرة في الإصدار 0.20.2 من prefab-ui. تم إصلاح الثغرة في الإصدار 0.21.0: فبعد تحميل بيئة التشغيل ومصادر Prefab، يلغي المشغّل أذونات القراءة والكتابة والشبكة لـ Deno قبل قبول الشيفرة، وتُبدأ العملية باستخدام الخيار --no-prompt حتى لا يمكن لطلب الأذونات منحها مرة أخرى، كما يُقيد الوصول إلى الشبكة أثناء التمهيد على cdn.jsdelivr.net. الإصلاح متوفر في التغيير المعتمد (commit) رقم 030f074 (طلب السحب 538).

المعالجة

المراجع

Esc