یک نقص امنیتی بسیار شدید در محصولات LXD و MicroCloud شرکت Canonical کشف شده است که به مهاجمان اجازه میدهد بدون داشتن کلید خصوصی (Private Key)، خود را به جای یک کلاینت مورد اعتماد جا بزنند و وارد سیستم شوند. برای بهرهبرداری از این نقص، مهاجم باید به API پروتکل HTTPS از طریق شبکه دسترسی داشته باشد و گواهینامه عمومی (Public Certificate) کلاینت مورد نظر را در اختیار داشته باشد.
جزئیات فنی و مکانیسم حمله
در سیستمهای LXD و MicroCloud، کلاینتهای راه دور از طریق mutual TLS (mTLS) به APIها دسترسی پیدا میکنند. در این ساختار، کلاینت باید گواهینامهای را ارائه دهد تا هویت خود را اثبات کند. سرور تنها زمانی کلاینت را مورد اعتماد میشناسد که گواهینامه او در trust store سرور موجود باشد.
مشکل اصلی در نحوه بررسی گواهینامهها توسط سرور بود. سرور تمامی گواهینامههای ارسالی توسط کلاینت را با لیست مورد اعتماد مقایسه میکرد، در حالی که در یک اتصال TLS، تنها گواهینامه اول (Leaf Certificate) است که مالکیت کلید خصوصی توسط کلاینت را اثبات میکند. سایر بخشهای زنجیره گواهینامه (Certificate Chain) توسط کلاینت قابل تغییر هستند.
به همین دلیل، یک مهاجم میتوانست گواهینامه عمومی یک کلاینت مورد اعتماد (که محرمانهای نیست) را برداشته و آن را به انتهای زنجیره گواهینامه خود اضافه کند. سرور با مشاهده گواهینامه مورد اعتماد در زنجیره، مهاجم را به عنوان آن کلاینت میپذیرفت.
تاثیرات و سطح دسترسی
در صورت موفقیت در این حمله، مهاجم با هویت کلاینت مورد نظر به کلاستر و ماشینهای مجازی (VMs) دسترسی پیدا میکند. طبق اعلام Canonical، اگر حساب کاربری جعل شده دارای دسترسیهای مدیریتی باشد، مهاجم میتواند به root access در ماشین میزبان دست یابد.
نسخههای آسیبپذیر و روش اصلاح
این آسیبپذیری با شناسه CVE-2026-112816 ثبت شده و حداکثر امتیاز 10.0 در CVSS را دریافت کرده است. نسخههای آسیبپذیر عبارتند از:
- LXD 4.0.14, 5.0.10, 5.21.8 و 6.9 (قبل از نسخههای اصلاح شده)
برای رفع این مشکل در نصبهای مبتنی بر Snap، دستورات زیر را اجرا کنید:
sudo snap refresh lxdsudo snap refresh microcloud
وضعیت بهرهبرداری
تا این لحظه هیچ شواهدی مبنی بر استفاده از این نقص در حملات واقعی منتشر نشده است. سازمان CISA ایالات متحده نیز تایید کرده که این آسیبپذیری در لیست Known Exploited Vulnerabilities قرار ندارد و هیچ اکسپلویت (Exploit) عمومی برای آن منتشر نشده است.
توصیههای امنیتی
از آنجایی که این حمله نیازمند دسترسی شبکه به API است، توصیه میشود تا زمان بهروزرسانی کامل، دسترسیهای شبکه به Listener مربوطه را محدود کنید. برای کاربران پروژه Incus، بهروزرسانی به نسخه 7.6.0 توصیه میشود.