Исследователи из компании Faraday Security представили на конференции DEFCON детали эксплуатации критической уязвимости (CVE-2022-27255) в SDK для чипов Realtek RTL819x, позволяющей выполнить свой код на устройстве через отправку специально оформленного UDP-пакета. Уязвимость примечательна тем, что позволяет атаковать устройства, в которых отключён доступ в web-интерфейс для внешних сетей – для атаки достаточно просто отправить один UDP-пакет.
Уязвимость затрагивает устройства, в которых используются уязвимые версии SDK Realtek, включая eCos RSDK 1.5.7p1 и MSDK 4.9.4p1. Обновления eCos SDK с устранением уязвимости были опубликованы Realtek 25 марта. Пока не ясно какие именно устройства подвержены проблеме – SoC Realtek RTL819x используется в сетевых маршрутизаторах, точках доступа, усилителях Wi-Fi, IP-камерах, устройствах интернета вещей и прочих сетевых устройствах более 60 производителей, включая Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT-Link, Netgear, Smartlink, UPVEL, ZTE и Zyxel.
В открытом доступе уже опубликованы примеры эксплоитов для получения удалённого доступа к устройству и выполнения своих команд на примере атаки на маршрутизатор Nexxt Nebula 300 Plus. Дополнительно опубликованы утилиты для анализа прошивок на наличие уязвимости.
С учётом проблем с подготовкой и доставкой и обновлений прошивок на уже выпущенные устройства предполагается появление в скором времени автоматизированных атак и червей, поражающих уязвимые сетевые устройства. После успешной атаки поражённые устройства могут использоваться злоумышленниками, например, для формирования ботнетов, внедрения бэкдоров для оставления лазейки во внутреннюю сеть предприятия, перехвата транзитного трафика или его перенаправления на внешний хост.
Уязвимость вызвана переполнением буфера в модуле “SIP ALG” (SIP Application Layer Gateway), применяемом для организации проброса SIP-пакетов за транслятор адресов. Проблема возникла из-за отсутствия проверки фактического размера полученных данных, что приводит к перезаписи области памяти за пределами фиксированного буфера при вызове функции strcpy во время обработки пакетов SIP. Атака может быть совершена через отправку UDP-пакета с некорректными значениями полей в блоке данных SDP или заголовке протокола SIP.
Для эксплуатации достаточно отправить один пакет на произвольный UDP-порт WAN-интерфейса.
В качестве обходного пути защиты рекомендовано блокировать на межсетевом экране или в системе предотвращения сетевых вторжений UDP-пакеты с SIP-сообщением “INVITE”, строкой “m=audio” и размером больше 128 байт. Пример правила для выявления попыток эксплуатации в IDS Snort 3: