SharedRoot: فرار ایجنت از سندباکس Cowork
خلاصهٔ کاملتر
تیم Accomplish نوشته یه پوشه رو به یه نشست تازهٔ Claude Cowork وصل کرده، یه پیام کوتاه فرستاده و دیده ایجنت از سندباکس بیرون زده: از داخل ماشین مجازی به مک میزبان رسیده و فایلهایی خیلی بیرونتر از اون پوشه رو خونده و نوشته، بدون هیچ پرامپت اجازهای. طراحی Cowork خودش محتاطانهست — یه VM واقعی روی فریمورک Virtualization اپل، یه کاربر بیامتیاز یهبارمصرف برای هر نشست، فیلتر seccomp و مانتهایی که یه دیمن روت به اسم coworkd واسطهشون میشه.
به گفتهٔ نویسندهها یه نکته از بقیه مهمتره: کل فایلسیستم هاست به شکل خواندنی-نوشتنی داخل VM شیر شده، زیر مسیر /mnt/.virtiofs-root، طوری که فقط روتِ داخل مهمان میبینتش. زنجیره هم دقیقاً همونجا فرود میاد. کاربر بیامتیاز اول یه فضاینام کاربری بیامتیاز میسازه و داخلش روت حساب میشه و CAP_NET_ADMIN میگیره؛ این اصلاً باگ نیست، فقط یه قابلیت کرنله که تو ایمیج مهمان خاموش نشده.
با اون قابلیت، یه اکشن traffic-control تنظیم میشه که ماژول act_pedit رو لازم داره؛ سوکت netlink لازمش از فیلتر seccomp رد میشه و صرف اشاره به ماژول باعث لود خودکارش میشه. اون ماژول روی کرنل مهمان به CVE-2026-46331 آسیبپذیره و اجازه میده کش صفحهٔ فایلی که فقط خوندنش مجازه آلوده بشه. بعد coworkd که روت اجرا میشه، تو کار عادی خودش همون باینری کمکی آلوده رو دوباره اجرا میکنه؛ اینطوری کاربرِ نشست، روت مهمان رو میگیره و از اونجا به کل هاست میرسه.
نکتهٔ اصلی مقاله اینه که وزن ماجرا روی CVE نیست. نویسندهها میگن زیرسیستم net/sched لینوکس مرتب همین شکل از ارتقای سطح دسترسی رو بیرون میده، پس وصلهٔ این باگ فقط همین باگ رو میبنده و زنجیره با بعدی دوباره مسلح میشه؛ مخصوصاً حالا که تحقیق آسیبپذیری با کمک هوش مصنوعی صنعتی شده و فاصلهٔ انتشار وصله تا اکسپلویت عمومی به چند ساعت رسیده. یعنی کرنل مهمان عملاً هیچوقت بهروز نیست.
به جاش چهار انتخاب بالاتر از کرنل پیشنهاد شده که هرکدوم بهتنهایی زنجیره رو میشکنن: خاموشکردن فضاینام کاربری بیامتیاز با کلید apparmor_restrict_unprivileged_userns، عوضکردن seccomp از پیشفرض-اجازه به لیست سفید و بستن unshare و setns و خانوادهٔ AF_NETLINK، جلوگیری از لود خودکار ماژولهای بلااستفاده (الگویی که ایمیج Cowork قبلاً برای یه CVE دیگه بهکار برده)، و مهمتر از همه محدودکردن اشتراک هاست به همون پوشههای وصلشده. آنتروپیک گزارش رو «اطلاعاتی» بست و Cowork هم الان پیشفرض ابری اجرا میشه.
نکات کلیدی:
- زنجیرهٔ SharedRoot ایجنت رو از VM لوکال Cowork به کل فایلسیستم مک میزبان میرسونه
- ریشهٔ مشکل اشتراک خواندنی-نوشتنی کل هاست داخل VM زیر /mnt/.virtiofs-root هست
- مسیر شامل فضاینام کاربری بیامتیاز، لود خودکار act_pedit و CVE-2026-46331 میشه
- دیمن روتِ coworkd با اجرای دوبارهٔ باینری آلوده، باگ کرنل رو به روت مهمان تبدیل میکنه
- نویسندهها میگن تکیه به کرنل تمیز جواب نمیده و مهار باید بالاتر از کرنل باشه
- آنتروپیک گزارش رو «اطلاعاتی» بست و اجرای پیشفرض Cowork حالا ابریه




