
Офлайн-расширение для браузера, предоставляющее защитный анализ и рекомендации по обнаружению для CVE-2026-20127, с визуализацией пакетов, извлечением IOC и стратегиями смягчения последствий для Cisco SD-WAN.
CVE-2026-20127 Defensive Companion — это флагманское браузерное расширение корпоративного класса, предназначенное для упреждающего анализа угроз и защитной аналитики. Инструмент объединяет авторитетные технические исследования уязвимости обхода аутентификации в контроллере Cisco Catalyst SD-WAN (vSmart). Благодаря автономному, преимущественно локализованному аналитическому слою он позволяет центрам операционной безопасности (SOC) и исследователям в области защиты быстро анализировать структуры пакетов, прослеживать потоки аутентификации и мгновенно извлекать индикаторы компрометации (IOCs) без передачи активных данных расследования во внешние сети.
Архитектура Cisco Catalyst SD-WAN использует службу vdaemon для установления и поддержания DTLS-соединений плоскости управления между граничными устройствами и контроллером. Лежащая в основе уязвимость (CVE-2026-20127) эксплуатирует сбой проверки конечного автомата во время процедуры DTLS-рукопожатия, затрагивая порты, обычно связанные с трафиком управления vSmart (например, 12346, 52521). Уязвимость позволяет неавторизованным лицам обойти проверку X.509-сертификатов и подделать состояние аутентификации во внутреннем реестре контроллера.
Основная цель проекта — преобразовать исходный репозиторий эксплойта в структурированный, обучающий и оборонительный ресурс. Исследование направлено на декомпозицию обхода аутентификации в vbond_proc_challenge_ack_ack() и его представление с помощью набора интерактивных визуализаций. Это позволяет специалистам по кибербезопасности понять точные механизмы уязвимости, реализовать надёжную логику обнаружения и применять комплексные стратегии смягчения последствий в корпоративных SD-WAN-развёртываниях.
Репозиторий структурирован таким образом, чтобы разделять данные аналитики, основную UI-визуализацию и логику интеллектуального поиска в соответствии с архитектурными ограничениями Chrome Manifest V3.
src/knowledge): содержит ровно 17 сегментированных JSON-доменов, представляющих обработанную аналитику из исходного исследования эксплойта.src/services): содержит автономный NLP-механизм KnowledgeEngine, отвечающий за определение намерений и семантический поиск.src/components, src/sidepanel): пользовательский интерфейс на React, отображающий динамические визуализации пакетов и аналитическую панель.Углублённый анализ подтверждает, что уязвимость находится в функции vbond_proc_challenge_ack_ack(), расположенной по адресу 0x38AB7 в vdaemon (версия 20.12.5). Основной недостаток — полное отсутствие серверной проверки байта verify_status, передаваемого в теле сообщения. Когда неаутентифицированный одноранговый узел отправляет пакет CHALLENGE_ACK_ACK с ненулевым verify_status, vdaemon неявно доверяет этому утверждению и записывает 1 в память состояния аутентификации однорангового узла: *(BYTE*)(a2+70) = 1.
Легитимная процедура DTLS-рукопожатия плоскости управления выглядит следующим образом:
msg_type=8 (CHALLENGE).msg_type=9 (CHALLENGE_ACK), предоставляя требуемые криптографические доказательства.msg_type=10 (CHALLENGE_ACK_ACK).Эксплуатируемый поток протокола намеренно пропускает шаг 3. Атакующий перехватывает CHALLENGE и немедленно отвечает поддельным CHALLENGE_ACK_ACK (msg_type=10). Поскольку шлюз аутентификации внутри vbond_proc_msg() освобождает msg_type=10 от предварительной фильтрации, пакет достигает уязвимого обработчика и повреждает конечный автомат.
Группы безопасности должны активно искать следующие аномалии для обнаружения попыток эксплуатации:
control-connection-state-change, где peer-vmanage-system-ip равен 0.0.0.0 и сразу после этого в течение нескольких секунд происходит переход состояния в down.vmanage-admin через TCP-порт 830 (NETCONF) сразу после нестабильности DTLS.vdaemon_peer_ssl_snapshot_info, указывающие на значительные отличия локального и однорангового сертификатов, не соответствующие стандартной процедуре настройки.Специалисты по защите должны реализовать следующие стратегии восстановления:
20.12.6.1 или более поздней, которая обеспечивает строгую проверку конечного автомата в vbond_proc_challenge_ack_ack().authorized_keys для учётной записи vmanage-admin.Расширение реализует специализированный автономный механизм знаний, индексирующий 17 конкретных доменов, извлечённых из репозитория. Механизм работает полностью локально в браузере, используя многоэтапный конвейер обработки естественного языка (NLP):
Detection).Решение в значительной степени опирается на распределённую асинхронную архитектуру на базе Manifest V3:
chrome.storage.local для сохранения состояния и настроек расширения.@vitejs/plugin-react)Расширение оптимизировано для быстрого развёртывания и бесперебойной работы аналитиков:
Set<string>) во время загрузки, снижая задержку поиска во время выполнения до субмиллисекундных значений.background.js от тяжёлого UI-бандла sidepanel.js, экономя объём памяти.Безопасность и конфиденциальность данных являются основой этого инструмента:
manifest.json запрашивает только строго необходимые разрешения (activeTab, sidePanel, storage).unsafe-eval и выполнение удалённых скриптов.npm install
npm run build
npm run dev
dist/.chrome://extensions/ в браузере.dist/.ext/
├── public/ # Static assets and manifest.json
├── src/
│ ├── background/ # Service worker scripts
│ ├── components/ # React components (ProtocolViewer, PacketExplorer, Chat)
│ ├── content/ # DOM scanning and active threat highlighting scripts
│ ├── knowledge/ # 17 segmented JSON domains containing extracted CVE data
│ ├── options/ # Extension settings and Report Generator logic
│ ├── services/ # Offline KnowledgeEngine NLP implementation
│ └── sidepanel/ # Primary persistent workspace for analysts
├── package.json # Node.js dependencies and script definitions
├── tsconfig.json # TypeScript configuration for strict typing
└── vite.config.ts # Vite build configuration