Sårbarheter i Realtek SDK ledde till problem i enheter från 65 tillverkare

Fyra sårbarheter har identifierats i komponenter i Realtek SDK, som används av olika tillverkare av trådlösa enheter i deras firmware, som kan tillåta en oautentiserad angripare att fjärrexekvera kod på en enhet med förhöjda privilegier. Enligt preliminära uppskattningar påverkar problemen minst 200 enhetsmodeller från 65 olika leverantörer, inklusive olika modeller av trådlösa routrar Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT- Link, Netgear, Realtek, Smartlink, UPVEL, ZTE och Zyxel.

Problemet täcker olika klasser av trådlösa enheter baserade på RTL8xxx SoC, från trådlösa routrar och Wi-Fi-förstärkare till IP-kameror och smarta ljusstyrningsenheter. Enheter baserade på RTL8xxx-chips använder en arkitektur som involverar installation av två SoC:er - den första installerar tillverkarens Linux-baserade firmware, och den andra kör en separat avskalad Linux-miljö med implementering av åtkomstpunktsfunktioner. Fyllningen av den andra miljön är baserad på standardkomponenter som tillhandahålls av Realtek i SDK. Dessa komponenter behandlar också data som tas emot som ett resultat av att externa förfrågningar skickas.

Sårbarheterna påverkar produkter som använder Realtek SDK v2.x, Realtek “Jungle” SDK v3.0-3.4 och Realtek “Luna” SDK före version 1.3.2. Fixeringen har redan släppts i Realtek "Luna" SDK 1.3.2a-uppdateringen, och patchar för Realtek "Jungle" SDK förbereds också för publicering. Det finns inga planer på att släppa några korrigeringar för Realtek SDK 2.x, eftersom stödet för denna gren redan har upphört. För alla sårbarheter tillhandahålls fungerande exploateringsprototyper som låter dig köra din kod på enheten.

Identifierade sårbarheter (de två första tilldelas en allvarlighetsgrad på 8.1 och resten - 9.8):

  • CVE-2021-35392 - Buffertspill i mini_upnpd- och wscd-processerna som implementerar "WiFi Simple Config"-funktionen (mini_upnpd bearbetar SSDP-paket och wscd, förutom att stödja SSDP, bearbetar UPnP-förfrågningar baserat på HTTP-protokollet). En angripare kan åstadkomma exekvering av sin kod genom att skicka specialgjorda UPnP-”SUBSCRIBE”-förfrågningar med ett för stort portnummer i fältet ”Callback”. PRENUMERERA /upnp/event/WFAWLANConfig1 HTTP/1.1 Värd: 192.168.100.254:52881 Återuppringning: NT:upnp:händelse
  • CVE-2021-35393 är en sårbarhet i WiFi Simple Config-hanterare som uppstår när SSDP-protokollet används (använder UDP och ett begäranformat som liknar HTTP). Problemet orsakas av användningen av en fast buffert på 512 byte vid bearbetning av parametern "ST:upnp" i M-SEARCH-meddelanden som skickas av klienter för att fastställa närvaron av tjänster i nätverket.
  • CVE-2021-35394 är en sårbarhet i MP Daemon-processen, som ansvarar för att utföra diagnostiska operationer (ping, traceroute). Problemet tillåter substitution av ens egna kommandon på grund av otillräcklig kontroll av argument vid exekvering av externa verktyg.
  • CVE-2021-35395 är en serie sårbarheter i webbgränssnitt baserade på http-servrarna /bin/webs och /bin/boa. Typiska sårbarheter orsakade av bristen på kontrollargument innan externa verktyg startas med funktionen system() identifierades i båda servrarna. Skillnaderna beror bara på användningen av olika API:er för attacker. Båda hanterarna inkluderade inte skydd mot CSRF-attacker och tekniken "DNS-återbindning", som gör det möjligt att skicka förfrågningar från ett externt nätverk samtidigt som åtkomsten till gränssnittet endast begränsas till det interna nätverket. Processer har också standardiserats till det fördefinierade arbetsledare-/övervakarkontot. Dessutom har flera stackoverflows identifierats i hanterarna, som uppstår när argument som är för stora skickas. POST /goform/formWsc HTTP/1.1 Värd: 192.168.100.254 Content-Length: 129 Content-Type: application/x-www-form-urlencoded submit-url=%2Fwlwps.asp&resetUnCfg=0&peerPin=12345678/1 ;&setPIN=Start+PIN&configVxd=av&resetRptUnCfg=0&peerRptPin=
  • Dessutom har flera fler sårbarheter identifierats i UDPServer-processen. Som det visade sig hade ett av problemen redan upptäckts av andra forskare redan 2015, men det korrigerades inte helt. Problemet orsakas av en brist på korrekt validering av argumenten som skickas till system()-funktionen och kan utnyttjas genom att skicka en sträng som 'orf;ls' till nätverksport 9034. Dessutom har ett buffertspill identifierats i UDPServer på grund av osäker användning av sprintf-funktionen, som även potentiellt kan användas för att utföra attacker.

Källa: opennet.ru

Lägg en kommentar