Zed 1.16.2 يصلح ثغرة محتملة للهروب من sandbox الملفات عند تشغيل الإضافات
الإضافة التي تُثبَّت لتلوين ملف أو تنسيقه تعمل في المحرر نفسه الذي يفتح كود العمل وملفات .env ومفاتيح الـ API، والـ sandbox هو الحاجز الوحيد بينهما.
أصدر محرر الأكواد Zed في 24 أغسطس 2026 النسخة 1.16.2. وتسجل صفحة الإصدارات المستقرة فيها بندًا نصه: «Fixed a potential filesystem sandbox escape when running extensions»، مع الإشارة إلى الطلب رقم 63147.
وتضمنت النسخة نفسها إصلاحات أخرى، منها مصادقة GitHub Copilot Chat وتوجيه طلبات الـ API على GitHub Enterprise Cloud، وإعدادات الـ language server على مستوى المشروع.
والـ sandbox في هذا السياق هو الحد الذي يفترض أن يقيد ما تراه الإضافة من ملفات الجهاز، فلا تصل إلا إلى جزء محدد منه. أما الهروب منه فيعني أن الإضافة قد تتمكن من الوصول إلى ما خارج هذا الجزء. ويصف البند الثغرة بأنها محتملة، ولا تذكر صفحة الإصدار تفاصيل إضافية عنها.
وتكتسب القصة أهميتها من طريقة تعامل المطورين مع الإضافات. فهي تُثبَّت عادة بسهولة كبيرة: دعم لغة جديدة، أو theme، أو formatter، أو أي أداة تختصر خطوة في اليوم. وفي المقابل، يفتح المحرر نفسه كود العمل وملفات .env ومفاتيح الـ API، وأحيانًا مفاتيح SSH.
أي أن إضافة ثُبّتت لتلوين ملفات JSON تعمل في البيئة ذاتها التي تحتوي على كل ذلك. والإضافات في المحررات عمومًا تعمل بصلاحيات المستخدم نفسه، ما لم يفرض المحرر sandbox صريحًا. ولذلك فإن تحديثًا يصلح هذا الحاجز ليس من نوع التحديثات التي يمكن تأجيلها، لأنه الفاصل الوحيد بين الإضافة وبقية الجهاز.
وينطبق المبدأ نفسه على VS Code وغيره من المحررات التي تعتمد على الإضافات.