Уязвимости в Realtek SDK доведоха до проблеми в устройствата на 65 производители

В компонентите Realtek SDK, използван от различни производители на безжични устройства в свои фърмуери, са открити четири уязвимости, позволяващи на неаутентифициран атакувач дистанционно да изпълни код на устройството с повишени привилегии. По предварителна оценка, проблемите засягат поне 200 модела устройства от 65 различни доставчици, включително различни модели безжични маршрутизатори Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT-Link, Netgear, Realtek, Smartlink, UPVEL, ZTE и Zyxel.

Проблемата обхваща различни класове безжични устройства на базата на SoC RTL8xxx, от безжични маршрутизатори и усилватели на Wi-Fi до IP камери и умни устройства за управление на осветлението. В устройствата, базирани на чипове RTL8xxx, се използва архитектура, която предполага инсталиране на два SoC — на първия се инсталира фърмуер на производителя на базата на Linux, а на втория работи отделна олекотена Linux среда с реализация на функции на точка за достъп. Съставките на второто обкръжение са базирани на стандартни компоненти, предоставени от компанията Realtek в SDK. Указаните компоненти обрабатват данни, идващи в резултат на изпратени външни запитвания.

Уязвимостите засягат продукти, в които се използват Realtek SDK v2.x, Realtek „Jungle“ SDK v3.0-3.4 и Realtek „Luna“ SDK до версия 1.3.2. Патч вече е издаден в обновлението Realtek „Luna“ SDK 1.3.2a, а също така се подготвят за публикуване патчове за Realtek „Jungle“ SDK. За Realtek SDK 2.x не се планира издаване на корекции, тъй като поддръжката на тази версия вече е прекратена. За всички уязвимости са предоставени работещи прототипи на експлойти, позволяващи изпълнение на собствен код на устройството.

Откритите уязвимости (първите две са с ниво на опасност 8.1, а останалите — 9.8):

  • CVE-2021-35392 — препълване на буфер в процесите mini_upnpd и wscd, реализиращи функционалността „WiFi Simple Config“ (mini_upnpd обработва пакети SSDP, а wscd, освен поддръжка на SSDP, обслужва запитвания UPnP на базата на HTTP протокол). Атакувачът може да постигне изпълнение на собствен код чрез изпращане на специално оформени UPnP запитвания „SUBSCRIBE“ с твърде голяма стойност на номера на порта в полето „Callback“. SUBSCRIBE /upnp/event/WFAWLANConfig1 HTTP/1.1 Host: 192.168.100.254:52881 Callback: NT: upnp:event
  • CVE-2021-35393 — уязвимост в обработчиците на «WiFi Simple Config», появяваща се при използване на протокола SSDP (използва UDP и формат на запитвания, подобен на HTTP). Проблемата е предизвикана от използването на фиксиран буфер с размер 512 байта при обработката на параметъра «ST:upnp» в съобщенията M-SEARCH, изпращани от клиентите за определяне наличието на услуги в мрежата.
  • CVE-2021-35394 — уязвимост в процеса MP Daemon, отговарящ за изпълнението на диагностични операции (ping, traceroute). Проблемът позволява подмяна на команди поради недостатъчна проверка на аргументите при изпълнение на външни утилити.
  • CVE-2021-35395 — серия от уязвимости в уеб интерфейсите, базирани на http-сървъри /bin/webs и /bin/boa. В двете сървъри идентифицирани са типовите уязвимости, причинени от липсата на проверка на аргументите преди изпълнението на външни утилити с функцията system(). Разликите се състоят само в използването на различни API за атаката. И двата обработчика не включваха защита от CSRF атаки и техники за «DNS rebinding», позволяващи изпращането на заявки от външната мрежа при ограничаване на достъпа до интерфейса само за вътрешната мрежа. В процесите по подразбиране също така се използваше предварително определената учетна запис supervisor/supervisor. Освен това, в обработчиците бяха идентифицирани няколко препълвания на стека, които се проявяват при изпращане на аргументи с твърде голям размер. POST /goform/formWsc HTTP/1.1 Host: 192.168.100.254 Content-Length: 129 Content-Type: application/x-www-form-urlencoded submit-url=wlwps.asp&resetUnCfg=0&peerPin=12345678;ifconfig>/tmp/1;&setPIN=Start+PIN&configVxd=off&resetRptUnCfg=0&peerRptPin=
  • Допълнително се отбелязва установяването на още няколко уязвимости в процеса UDPServer. Както се оказа, една от проблемите вече е била открита от други изследователи още през 2015 година, но не е била напълно отстранена. Проблемът е предизвикан от липсата на адекватна проверка на аргументите, предавани на функцията system() и може да бъде експлоатиран с изпращане на мрежовия порт 9034 на низ от вида ‘orf;ls’. Освен това, в UDPServer бе установено препълване на буфера поради небезопасно използване на функцията sprintf, което също потенциално може да бъде използвано за атакуване.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster