CVE-2018-7445

MikroTik RouterOS

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-09-08

Официальное описание

In MikroTik RouterOS, a stack-based buffer overflow occurs when processing NetBIOS session request messages. Remote attackers with access to the service can exploit this vulnerability and gain code execution on the system.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2018-7445 представляет собой критическую уязвимость типа «переполнение буфера в стеке» (stack-based buffer overflow) в сервисе SMB MikroTik RouterOS. Проблема возникает при некорректной обработке имен в сообщениях запроса сессии NetBIOS (NetBIOS session request).

Удаленный злоумышленник, имеющий доступ к порту службы SMB (TCP 139 или 445), может отправить специально сформированный пакет, что приведет к перезаписи памяти стека. Это позволяет выполнить произвольный код (RCE) с правами системы и получить полный контроль над сетевым устройством. Уязвимость актуальна для всех версий RouterOS до 6.41.3 (в ветке Bugfix/Long-term) и 6.42rc27 (в ветке Current).

Как исправить

Единственным надежным способом устранения уязвимости является обновление RouterOS до версии, в которой данная ошибка исправлена.

  1. Проверьте текущую версию системы:
/system resource print

  1. Проверьте наличие обновлений:
/system package update check-for-updates

  1. Если доступна версия выше 6.41.3 (Long-term) или 6.42 (Current), выполните загрузку и установку:
/system package update download
/system package update install

  1. После перезагрузки убедитесь, что прошивка Firmware (RouterBOOT) также обновлена:
/system routerboard upgrade
/system reboot

Временные меры

Если немедленное обновление невозможно, необходимо полностью отключить службу SMB или ограничить доступ к ней с помощью межсетевого экрана.

  1. Полное отключение службы SMB (рекомендуется):
/ip smb set enabled=no

  1. Ограничение доступа к SMB только для доверенных IP-адресов (если служба необходима):
/ip firewall filter add action=drop chain=input dst-port=139,445 protocol=tcp src-address-list=!TRUSTED_ADMINS

  1. Отключение SMB через интерфейс (альтернативный способ):
/ip smb set allow-guests=no interfaces=none