Sårbarheter i Realtek SDK førte til problemer i enheter fra 65 produsenter

Fire sårbarheter er identifisert i komponenter av Realtek SDK, som brukes av ulike produsenter av trådløse enheter i deres fastvare, som kan tillate en uautentisert angriper å eksternt kjøre kode på en enhet med forhøyede rettigheter. I følge foreløpige estimater påvirker problemene minst 200 enhetsmodeller fra 65 forskjellige leverandører, inkludert ulike modeller av trådløse rutere Asus, A-Link, Beeline, Belkin, Buffalo, D-Link, Edison, Huawei, LG, Logitec, MT- Link, Netgear, Realtek, Smartlink, UPVEL, ZTE og Zyxel.

Problemet dekker ulike klasser av trådløse enheter basert på RTL8xxx SoC, fra trådløse rutere og Wi-Fi-forsterkere til IP-kameraer og smarte lyskontrollenheter. Enheter basert på RTL8xxx-brikker bruker en arkitektur som involverer installasjon av to SoC-er - den første installerer produsentens Linux-baserte fastvare, og den andre kjører et separat nedstrippet Linux-miljø med implementering av tilgangspunktfunksjoner. Fyllingen av det andre miljøet er basert på standardkomponenter levert av Realtek i SDK. Disse komponentene behandler også data mottatt som følge av sending av eksterne forespørsler.

Sårbarhetene påvirker produkter som bruker Realtek SDK v2.x, Realtek “Jungle” SDK v3.0-3.4 og Realtek “Luna” SDK før versjon 1.3.2. Reparasjonen er allerede utgitt i Realtek "Luna" SDK 1.3.2a-oppdateringen, og patcher for Realtek "Jungle" SDK forberedes også for publisering. Det er ingen planer om å gi ut noen rettelser for Realtek SDK 2.x, siden støtte for denne grenen allerede er avviklet. For alle sårbarheter leveres fungerende utnyttelsesprototyper som lar deg kjøre koden din på enheten.

Identifiserte sårbarheter (de to første er tildelt et alvorlighetsnivå på 8.1, og resten - 9.8):

  • CVE-2021-35392 - Bufferoverflyt i mini_upnpd- og wscd-prosessene som implementerer "WiFi Simple Config"-funksjonaliteten (mini_upnpd behandler SSDP-pakker, og wscd, i tillegg til å støtte SSDP, behandler UPnP-forespørsler basert på HTTP-protokollen). En angriper kan oppnå utførelse av koden sin ved å sende spesiallagde UPnP "SUBSCRIBE"-forespørsler med et for stort portnummer i "Callback"-feltet. ABONNER /upnp/event/WFAWLANConfig1 HTTP/1.1 Vert: 192.168.100.254:52881 Tilbakeringing: NT:upnp:event
  • CVE-2021-35393 er en sårbarhet i WiFi Simple Config-behandlere som oppstår når du bruker SSDP-protokollen (bruker UDP og et forespørselsformat som ligner på HTTP). Problemet er forårsaket av bruken av en fast buffer på 512 byte ved behandling av "ST:upnp"-parameteren i M-SEARCH-meldinger sendt av klienter for å fastslå tilstedeværelsen av tjenester på nettverket.
  • CVE-2021-35394 er en sårbarhet i MP Daemon-prosessen, som er ansvarlig for å utføre diagnostiske operasjoner (ping, traceroute). Problemet tillater erstatning av egne kommandoer på grunn av utilstrekkelig sjekking av argumenter ved utføring av eksterne verktøy.
  • CVE-2021-35395 er en serie med sårbarheter i nettgrensesnitt basert på http-serverne /bin/webs og /bin/boa. Typiske sårbarheter forårsaket av mangel på kontrollargumenter før oppstart av eksterne verktøy ved bruk av system()-funksjonen ble identifisert på begge serverne. Forskjellene kommer kun til bruk av forskjellige APIer for angrep. Begge behandlerne inkluderte ikke beskyttelse mot CSRF-angrep og "DNS rebinding"-teknikken, som gjør det mulig å sende forespørsler fra et eksternt nettverk mens tilgangen til grensesnittet kun begrenses til det interne nettverket. Prosesser misligholdt også den forhåndsdefinerte veileder-/veilederkontoen. I tillegg er det identifisert flere stackoverløp i behandlerne, som oppstår når argumenter som er for store sendes. POST /goform/formWsc HTTP/1.1 Host: 192.168.100.254 Content-Length: 129 Content-Type: application/x-www-form-urlencoded submit-url=%2Fwlwps.asp&resetUnCfg=0&peerPin=12345678/tmpcon1>0tmpconXNUMX>XNUMX ;&setPIN=Start+PIN&configVxd=av&resetRptUnCfg=XNUMX&peerRptPin=
  • I tillegg har flere sårbarheter blitt identifisert i UDPServer-prosessen. Som det viste seg, hadde et av problemene allerede blitt oppdaget av andre forskere tilbake i 2015, men ble ikke fullstendig rettet. Problemet er forårsaket av mangel på riktig validering av argumentene som sendes til system()-funksjonen og kan utnyttes ved å sende en streng som 'orf;ls' til nettverksport 9034. I tillegg er det identifisert et bufferoverløp i UDPServer på grunn av usikker bruk av sprintf-funksjonen, som også potensielt kan brukes til å utføre angrep.

Kilde: opennet.ru

Legg til en kommentar