CVE-2026-20182: دور زدن احراز هویت Cisco SD-WAN بدون نیاز به گواهی معتبر
خلاصهٔ کاملتر
CVE-2026-20182 یک آسیبپذیری احراز هویت با حداکثر امتیاز CVSS یعنی 10.0 هست که محصولات Cisco Catalyst SD-WAN Controller و SD-WAN Manager رو تحت تأثیر قرار میده. این باگ توسط محققان Rapid7، جوناه برگس و استفن فیور، کشف شده و یک نقص کاملاً مستقل در پشته شبکه vdaemon هست، نه ادامه یک آسیبپذیری قدیمی.
Cisco Catalyst SD-WAN یک پلتفرم مدیریت متمرکز شبکههای سازمانی گستردهست که جایگزین مدارهای گرانقیمت MPLS میشه. اجزای اصلیش شامل vSmart (کنترلپلین و توزیع سیاست)، vBond (احراز هویت دستگاهها)، vManage (داشبورد مدیریت) و WAN Edge Routerها هستن. چون این کنترلرها مسیریابی، تقسیمبندی شبکه، و رابطه اعتماد بین دستگاهها رو مدیریت میکنن، به اصطلاح «مغز» شبکه سازمانی محسوب میشن.
ریشه مشکل در تابع vbond_proc_challenge_ack() توی سرویس vdaemon هست. این سرویس روی پورت UDP/12346 با پروتکل DTLS کار میکنه. وقتی یک دستگاه میخواد به شبکه SD-WAN بپیونده، باید یک فرآیند چالش-پاسخ رو طی کنه. مشکل اینه که برای نوع دستگاه vHub (device_type = 2)، هیچ بلوک اعتبارسنجیای وجود نداره؛ در حالی که vEdge، vSmart، vBond و vManage همگی تأیید گواهی و بررسی هویت میشن.
// وقتی device_type == 2 باشه (vHub)، هیچکدام از این بلوکها اجرا نمیشن:
if ( device_type == 3 || device_type == 5 ) { /* vSmart/vManage: serial check */ }
if ( /* controller-to-controller */ ) { vdaemon_dtls_verify_peer_cert(a2); }
if ( device_type == 1 ) { vdaemon_verify_peer_bidcert(a2, ...); }
// برای device_type == 2 هیچ چیزی نیست — مستقیم به peer->authenticated = 1 میرسهجریان حمله اینطوریه: مهاجم یک سشن DTLS با هر گواهی خودامضایی برقرار میکنه، منتظر دریافت پیام CHALLENGE میمونه، سپس یک CHALLENGE_ACK جعلی با device_type = 2 میفرسته. کنترلر بدون هیچ بررسیای peer->authenticated = 1 رو ست میکنه. بعد از یک پیام HELLO، پِیر وارد حالت UP میشه و به عنوان یک عضو معتبر کنترلپلین پذیرفته میشه. نکته مهم اینه که پیام CHALLENGE_ACK (نوع 9) به صورت عمدی در لیست سفید پیش از احراز هویت قرار داره، پس این مسیر حمله کاملاً دسترسپذیره.
بعد از ورود به کنترلپلین، یکی از خطرناکترین کارهایی که مهاجم میتونه بکنه تزریق کلید SSH از طریق پیامهندلر vbond_proc_vmanage_to_peer() هست. این هندلر مستقیماً کلید عمومی مهاجم رو به فایل /home/vmanage-admin/.ssh/authorized_keys اضافه میکنه، بدون هیچ فیلتری. این کار دسترسی ماندگار و مستقل از رمز عبور به حساب سرویس داخلی پرامتیاز vmanage-admin رو فراهم میکنه.
یک ماژول Metasploit برای این آسیبپذیری توسعه داده شده که موفقیتش روی نسخه 20.12.6.1 تأیید شده. این ماژول کل فرآیند از DTLS handshake تا تزریق کلید SSH رو خودکار میکنه و در نهایت دسترسی به سرویس مدیریتی NETCONF روی پورت TCP/830 رو فراهم میکنه. هیچ workaround یا راهحل پیکربندیمحوری وجود نداره و تنها راهحل ارتقاء به نسخههای وصلهشدهست. سازمانها باید کنترلرهای در معرض اینترنت رو تا زمان وصلهشدن، به عنوان سیستمهای احتمالاً در معرض خطر در نظر بگیرن.
نکات کلیدی:
- آسیبپذیری در تابع vbond_proc_challenge_ack() سرویس vdaemon قرار داره
- دستگاههای vHub (device_type = 2) هیچ اعتبارسنجی گواهی دریافت نمیکنن
- مهاجم بدون گواهی معتبر یا اطلاعات ورود میتونه وارد کنترلپلین SD-WAN بشه
- پس از ورود، تزریق کلید SSH دسترسی ماندگار به حساب vmanage-admin رو فراهم میکنه
- ماژول Metasploit برای این آسیبپذیری موجوده و موفقیتش تأیید شده
- هیچ workaround پیکربندیمحوری وجود نداره؛ بهروزرسانی فوری ضروریه
- تمام مدلهای استقرار (On-Prem، Cloud-Pro، FedRAMP) تحت تأثیرند




