Статья CVE-2026-20223 в Cisco Secure Workload: обход аутентификации REST API и методология тестирования

Сетевая карта Cisco крупным планом на антистатическом коврике, луч лампы освещает разъём и отладочные контакты. Гравировка на радиаторе: «CVE-2026-20223 · NO AUTH · CVSS 10.0».


CVSS 10.0. Десятка из десяти. Один HTTP-запрос к внутреннему REST API Cisco Secure Workload без токена авторизации - и удалённый атакующий читает конфигурацию и меняет политики микросегментации с привилегиями Site Admin через границы тенантов. Ни cookie, ни Bearer-токена, ни какой-либо формы аутентификации между запросом и административным доступом. Продукт, который буквально решает, кто с кем разговаривает в ЦОД, сам не спрашивает "а ты кто?" у входящих запросов.

Ниже - разбор root cause, покомпонентный анализ CVSS-вектора, привязка к MITRE ATT&CK и пошаговая методология тестирования REST API на аналогичные уязвимости класса CWE-306.

Бизнес-логика атаки: зачем это атакующему​

Cisco Secure Workload (ранее Cisco Tetration) - платформа микросегментации и контроля рабочих нагрузок в ЦОД. Управляет политиками доступа между приложениями, собирает телеметрию, контролирует сетевые потоки. Развёртывается как SaaS или on-prem кластер.

Атакующий, эксплуатирующий CVE-2026-20223, получает:
  • Чтение конфигурации всех тенантов - политики микросегментации, инвентарь приложений, сетевая топология ЦОД
  • Изменение политик безопасности - отключение сегментации между зонами, открытие путей для латерального движения
  • Кросс-тенантный доступ - в мультитенантных развёртываниях один запрос без аутентификации даёт доступ к данным всех тенантов
Если платформа контролирует сегментацию, а атакующий контролирует платформу - сетевая безопасность ЦОД перестаёт существовать. Cisco подтверждает: уязвимость затрагивает SaaS и on-prem развёртывания вне зависимости от конфигурации устройства. Workaround отсутствует.

Root cause: CWE-306 и отсутствие аутентификации на REST API​

1783888576727.webp

Из описания NVD: уязвимость Cisco Secure Workload возникла из-за "insufficient validation and authentication when accessing REST API endpoints""Недостаточная проверка и аутентификация при доступе к REST API эндпоинтам". Классификация - CWE-306 (Missing Authentication for Critical Function): продукт не выполняет аутентификацию для функций, требующих подтверждённой идентичности пользователя.

На практике это выглядит так: middleware-слой, отвечающий за проверку токенов авторизации на внутренних REST API эндпоинтах, либо отсутствовал, либо был неправильно сконфигурирован на уровне маршрутизации. Запрос приходил к обработчику минуя фильтр аутентификации, и обработчик выполнял операцию с максимальными привилегиями (Site Admin). Классика архитектурного провала - не баг в строчке кода, а дыра в конвейере обработки запросов.

CWE-306 в облачных платформах - одна из самых разрушительных слабостей. MITRE явно указывает этот CWE как применимый к Cloud Computing и ICS/OT. Последствия по классификации: "Access Control: Gain Privileges or Assume Identity" - атакующий принимает идентичность привилегированного пользователя без прохождения аутентификации.

Тут стоит разграничить. CWE-287 (родительский CWE, broken authentication) - это когда механизм аутентификации существует, но работает криво: принимает любой токен, неправильно валидирует подпись JWT, что-то в этом духе. CWE-306 - механизм аутентификации отсутствует полностью. Эндпоинт доступен без заголовка Authorization, и сервер обрабатывает запрос как легитимный. Разница - как между сломанным замком и отсутствием двери.

Разбор CVSS-вектора: почему ровно 10.0​

CVSS-вектор CVE-2026-20223: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H(Common Vulnerability Scoring System Version 3.1 Calculator)

КомпонентЗначениеЧто это значит для эксплуатации
AV:NNetworkЭксплуатация удалённо, через сеть
AC:LLowНе требуются специальные условия, race condition или MITM
PR:NNoneУчётные данные не нужны
UI:NNoneЖертва не должна выполнять никаких действий
S:CChangedЗатрагиваются ресурсы за пределами уязвимого компонента - кросс-тенантный доступ
C:HHighПолный доступ к чтению данных всех тенантов
I:HHighИзменение конфигурации и политик безопасности
A:HHighВоздействие на доступность ресурсов

S:C (Scope: Changed) - вот что выводит эту уязвимость из категории "обычный auth bypass" в категорию "критическая уязвимость сетевой безопасности". REST API - уязвимый компонент. Но через него атакующий добирается до ресурсов за его границей: конфигурации и данные других тенантов, политики, защищающие чужие рабочие нагрузки.

Комбинация PR:N + UI:N + AV:N делает уязвимость автоматизируемой. CISA SSVC подтверждает: Automatable: yes, Technical Impact: total. При этом SSVC-решение - Track (мониторить), не Act (патчить немедленно), потому что Exploitation: none. EPSS-оценка от FIRST.org - 0.0083 (перцентиль 0.5344): вероятность эксплуатации выше медианного значения для всех CVE, но активной эксплуатации пока нет.

Для сравнения: CVE-2026-20182 в Cisco Catalyst SD-WAN Controller (тоже CVSS 10.0, но CWE-287) уже попала в CISA KEV 14 мая 2026 года с EPSS 0.8850 (Top 1%). Публичный PoC-репозиторий на GitHub (portbuster1337/CVE-2026-20182), nuclei-шаблон - в официальных шаблонах ProjectDiscovery. Для CVE-2026-20223 ничего подобного пока нет. Отсутствие публичного PoC - временное преимущество защитников. Слово "временное" здесь ключевое.

Цепочка атаки: от разведки до кросс-тенантного доступа​

[Применимо: внешний пентест - SaaS-развёртывание; внутренний пентест - on-prem кластер]

Эксплуатация обхода аутентификации API в Cisco Secure Workload раскладывается по MITRE ATT&CK:
  1. Vulnerability Scanning (T1595.002, Reconnaissance) - сканирование целевой сети, обнаружение Cisco Secure Workload по характерным HTTP-заголовкам и SSL-сертификатам.
  2. Network Service Discovery (T1046, Discovery) - определение доступных REST API эндпоинтов. Cisco Secure Workload экспонирует API для управления кластером; часть эндпоинтов документирована, часть - внутренние.
  3. Exploit Public-Facing Application (T1190, Initial Access) - отправка crafted-запроса к уязвимому эндпоинту без заголовка Authorization. Middleware не блокирует запрос - доступ получен.
  4. Cloud API (T1059.009, Execution) - использование REST API для административных операций: чтение конфигурации, изменение политик микросегментации.
  5. System Information Discovery (T1082, Discovery) и Data from Local System (T1005, Collection) - извлечение данных: политики, сетевая топология, инвентарь приложений по всем тенантам.
  6. Valid Accounts (T1078, Privilege Escalation) - полученные с правами Site Admin данные могут содержать учётные записи для дальнейшего движения по инфраструктуре.
Критический момент - переход от шага 2 к шагу 3. Между обнаружением эндпоинта и получением доступа нет барьера. Не нужен эксплойт в привычном понимании - достаточно стандартного HTTP-запроса к правильному URL. Даже curl хватит.

Методология тестирования REST API на обход аутентификации​

1783888666417.webp

Требования к окружению​

  • ОС: Kali Linux 2024.x+ или любой (GNU/Linux)/macOS с установленными инструментами
  • Инструменты: curl (стандартный), ffuf v2.x (github.com/ffuf/ffuf), nuclei v3.x (ProjectDiscovery), Burp Suite Community или Pro
  • Сетевой доступ: HTTPS-доступ к management-интерфейсу Cisco Secure Workload (порт 443)
  • Режим: online, требуется сетевое подключение к целевой системе
  • Контекст: внешний пентест (SaaS - если management-интерфейс доступен из интернета) или внутренний пентест (on-prem кластер)
  • Версия цели: Cisco Secure Workload до 3.10.8.3 (ветка 3.x) или до 4.0.3.17 (ветка 4.0)

Обнаружение и проверка API-эндпоинтов​

Первый шаг - убедиться, что перед вами Cisco Secure Workload, и собрать список доступных REST API эндпоинтов. Cisco документирует публичный API в OpenAPI-спецификации, но CVE-2026-20223 затрагивает внутренние API, не описанные в публичной документации. Так что придётся фаззить.

Фаззинг недокументированных путей с помощью ffuf:
Bash:
ffuf -u https://TARGET/api/FUZZ -w /path/to/api-wordlist.txt -mc 200,401,403 -H "Content-Type: application/json" -t 10
Логика разбора ответов: 200 без заголовка Authorization - потенциальный CWE-306. Коды 401/403 - аутентификация на месте (но возможен обход через другие векторы: манипуляция заголовками, подмена HTTP-метода, path traversal).

Валидация отсутствия аутентификации​

После обнаружения эндпоинтов с кодом 200 проверка сводится к трём запросам через curl:
Bash:
# Запрос без заголовка Authorization
curl -sk https://TARGET/api/endpoint
# Запрос с невалидным токеном
curl -sk https://TARGET/api/endpoint -H "Authorization: Bearer invalid"
# Запрос с пустым токеном
curl -sk https://TARGET/api/endpoint -H "Authorization: Bearer "
Если все три возвращают 200 с данными - эндпоинт не защищён аутентификацией. В Burp Suite Pro то же самое удобнее делать через Intruder с payload-позицией на значении Authorization.

На момент анализа публичного nuclei-шаблона для CVE-2026-20223 не существует. Для CVE-2026-20182 шаблон есть (code/cves/2026/CVE-2026-20182.yaml в официальном репозитории ProjectDiscovery). Кастомный шаблон для класса CWE-306 собирается по аналогии.

Ограничения техники​

  • Сетевая доступность: внутренние REST API Cisco Secure Workload могут быть закрыты за VPN или firewall - внешний пентест в таком случае неприменим
  • Версия продукта: только непропатченные версии (до 3.10.8.3 для ветки 3.x, до 4.0.3.17 для ветки 4.0)
  • SaaS: Cisco патчит SaaS-развёртывания самостоятельно; тестирование возможно только до момента применения патча вендором
  • Отсутствие публичного PoC: конкретные уязвимые пути API не раскрыты в advisory, фаззинг может потребовать значительного времени

Затронутые версии и патчи Cisco Secure Workload​

Уязвимость CVE-2026-20223 затрагивает Cisco Secure Workload Cluster Software на SaaS и on-prem развёртываниях. Список затронутых версий из NVD начинается с 1.103.1.12 - по сути вся история продукта, включая период, когда он назывался Cisco Tetration. Проблема существовала с рождения.

ВеткаЗатронутые версииИсправление
3.9 и ранееВсе версииМиграция на исправленный релиз
3.10До 3.10.8.3Обновление до 3.10.8.3
4.0До 4.0.3.17Обновление до 4.0.3.17

Workaround отсутствует - Cisco подтверждает это в официальном advisory (cisco-sa-csw-pnbsa-g8WEnuy). Для ветки 3.9 и ранее in-place обновление невозможно: требуется миграция на 3.10.8.3+ или 4.0.3.17+. Если у вас 3.9 - готовьтесь к миграции, а не к патчу.

Уязвимость обнаружена Cisco во время внутреннего тестирования безопасности (по данным The Hacker News). Публичное раскрытие - май 2026.

Обнаружение эксплуатации и чеклист реагирования​

📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

CWE-306 в продукте уровня Cisco Secure Workload - это архитектурный провал валидации доступа. Продукт, отвечающий за микросегментацию рабочих нагрузок в ЦОД, сам оказался без базовой проверки на собственном REST API. Затронутые версии начинаются с 1.103.1.12 - проблема жила в коде с рождения продукта, включая эпоху Cisco Tetration.

Cisco "обнаружили при внутреннем тестировании безопасности". За предыдущие годы ни один internal security review не проверил элементарный пункт из OWASP API Security Top 10 - API2:2023 Broken Authentication. Не ошибка конкретного разработчика - системная слепота QA-процесса. И это не только про Cisco: каждый enterprise-вендор, у которого REST API для управления кластером торчит в сеть без обязательной проверки токена, сидит на точно такой же бомбе.

Окно для патчинга CVE-2026-20223 пока открыто - активной эксплуатации нет, EPSS ниже 1%. Но история CVE-2026-20182 показывает: от "no exploitation" до CISA KEV может пройти несколько недель. Проверьте свою версию сейчас - curl -sk https://YOUR_CSW/api/ без токена. Если пришёл 200 с данными - у вас та же проблема.
 
Последнее редактирование модератором:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab