FlawOpen

flawopen.com/Teardowns/cve-2026-102255-sonicwall-sma1000-workplace-ssrf

● CVE-2026-102255 · CVSS 10.0[1] · Критический
Исследования · FlawOpen

CVE-2026-102255: SSRF в SonicWall SMA1000 WorkPlace

CVE-2026-102255 — SSRF до аутентификации с CVSS 10,0 в интерфейсе SonicWall SMA1000 WorkPlace. 12 октября MS-ISAC сообщил, что на тот момент не было сведений об эксплуатации в реальных условиях четырёх уязвимостей из бюллетеня. Также описан условный путь от этой SSRF к удалённому выполнению кода при объединении с CVE-2026-102256 — отдельной уязвимостью внедрения команд, для которой нужна учётная запись администратора. Бюллетень не раскрывает механизм цепочки или способ преодоления аутентификации; это оценка риска, а не подтверждённая цепочка. 9 октября сообщалось о попытках в honeypot, соответствующих CVE-2026-102255, но успешная компрометация не установлена. Установите исправленный platform hotfix.[1], [2], [3], [4], [5], [6]

💡 Простыми словами (ELI5)

Представьте устройство как сотрудника на ресепшене, который переносит записки между комнатами. Ошибка позволяет незнакомцу попросить его доставить записку в комнату, доступную только после проверки личности. SonicWall исправила этот путь; уведомление не раскрывает внутренний маршрут или код исправления.[1]

Ключевые понятия и термины

Подделка серверных запросов (SSRF)
Сервер заставляют отправить запрос, выбранный недоверенным пользователем. По данным SonicWall, устройство может обращаться к внутренним функциям от имени вызывающей стороны.[1], [3]

Связи со стандартами

  • Ссылка CWE для слабого места, описанного в этом руководстве: CWE-918

Анализ первопричины

SonicWall описывает непредусмотренный альтернативный путь доступа в Appliance WorkPlace SMA1000. Удалённый нарушитель без аутентификации может заставить устройство отправлять запросы от его имени, обращаться к внутренним функциям и выполнять несанкционированные операции. В уведомлении SonicWall не опубликован исходный diff прошивки. BleepingComputer цитирует исследователя Райана Дьюхерста: honeypot-сенсоры обнаружили попытки с OPTIONS-запросами к WorkPlace Extraweb, направленные на локальную службу CouchDB. Публикация не подтверждает, что какая-либо попытка привела к компрометации системы; здесь это атрибутированное сообщение о попытках, а не подтверждённая эксплуатация. Указанные payload и учётные данные не приводятся. SonicWall указывает CVSS 10,0 Critical; запись CVE указывает CWE-918. Производитель заявляет, что октябрьские уязвимости не связаны с другими проблемами SonicWall. Не объединяйте эту CVE с прежними раскрытиями SMA1000 в цепочку эксплуатации. В уведомлении SonicWall от 6 октября говорилось, что на тот момент признаков эксплуатации не было. 9 октября BleepingComputer сообщил, что исследователь Райан Дьюхерст рассказал о попытках, соответствующих этой CVE, обнаруженных Honeypot-сенсорами Previdian; успешная компрометация системы не подтверждена. Обновление от 12 октября 2026 года: по данным MS-ISAC, на тот момент сообщений об эксплуатации в реальных условиях четырёх уязвимостей из бюллетеня не было. Это совместимо с сообщением от 9 октября о попытках в honeypot: попытки не доказывают успешную эксплуатацию, а MS-ISAC не называет пострадавших. В том же бюллетене оценивается, что SSRF до аутентификации CVE-2026-102255 можно объединить с CVE-2026-102256 — отдельной уязвимостью внедрения команд ОС, требующей аутентифицированную учётную запись администратора, — и получить удалённое выполнение кода и полный контроль над системой. Бюллетень не объясняет, как выполняется требование аутентификации, не описывает подтверждённую последовательность и не сообщает о такой цепочке в наблюдавшихся атаках. Считайте это условной оценкой риска государственного источника, а не подтверждённой или воспроизводимой цепочкой. SonicWall указывает исправленные сборки 12.4.3-03670+ и 12.5.0-03082+; установите обновление независимо от того, подтверждена ли цепочка.[1], [2], [3], [4], [6]

Пошаговый сценарий атаки

Шаг 1

Запрос без аутентификации достигает WorkPlace

SonicWall указывает, что ошибка до входа затрагивает WorkPlace SMA1000. BleepingComputer сообщает о попытках с OPTIONS-запросами к WorkPlace Extraweb, обнаруженных honeypot-сенсорами; это не подтверждает успешную компрометацию.[1], [4]

Шаг 2

Устройство действует от имени пользователя

Производитель говорит о возможном доступе к внутренним функциям и несанкционированных операциях. По данным BleepingComputer, попытки были направлены на локальную CouchDB, но исследователь не подтвердил успешную компрометацию.[1], [4]

Шаг 3

Действия оператора: установить исправление и провести проверку

SonicWall указывает исправленные сборки 12.4.3-03670+ и 12.5.0-03082+. Если установка исправления задерживается, временно ограничьте доступ к WorkPlace, сохраните журналы и проведите расследование. Сообщения о попытках не подтверждают успешную компрометацию.[1], [4], [5]

Исходный код: Уязвимый vs Защищённый вариант

Исходный код прошивки и diff исправления не опубликованы. Этот общий пример на Python ограничивает вызов фиксированным идентификатором сервиса; приложение задаёт источник и путь и отключает перенаправления. Это не код SonicWall, не воспроизведение CVE и не полная защита SSRF. Установите платформенное обновление SonicWall.[1]

Фрагмент исходного кода: Generic SSRF defense illustration; not SonicWall source

УЯЗВИМАЯ РЕАЛИЗАЦИЯ
# Общая иллюстрация; это не код SonicWall и не воспроизведение уязвимости.
def fetch_health(user_supplied_url, session):
    return session.get(user_supplied_url, timeout=3)
БЕЗОПАСНЫЙ ИСПРАВЛЕННЫЙ ВАРИАНТ
# Общий шаблон защиты от SSRF; это не код SonicWall и не полноценный патч.
from urllib.parse import urljoin

SERVICE_PATHS = {"status": "/health"}
BASE_URLS = {"status": "https://status.example.internal"}

def fetch_health(service_id, session):
    base = BASE_URLS.get(service_id)
    path = SERVICE_PATHS.get(service_id)
    if base is None or path is None:
        raise ValueError("unknown service")
    # Ввод пользователя выбирает фиксированную возможность, а не URL или хост.
    return session.get(urljoin(base, path), timeout=(2, 3), allow_redirects=False)

Чек-лист по защите системы для инженеров

Источники