Többezer Magyarországon működő TP-LINK router került veszélybe

A Tenable adott ki egy figyelmeztetést, amely szerint a TP-Link WR841N sorozatú router eszközei olyan összetett sérülékenységgel rendelkeznek, amelyen keresztül távolról is átvehető az irányítás a router, és azon keresztül a mögöttes hálózat felett.

A TP-Link eszközök a legnépszerűbb otthoni és kisirodai routerek, itthon is nagyon sokan vásárolják webshopokból és elektronikai áruházakból.

Világszerte sokszázezer eszköz érintett a sérülékenységgel kapcsolatban (160 ezer biztosan, ennyi azonosítható eszközt lehet lekérdezni jelenleg, ezek olyan érintett routerek, amelyeknek webes felülete az Interneten keresztül is elérhető).

Ha a keresést Magyarországra szűkítjük, akkor több mint 1600 olyan eszközt találunk, amely érintett a Tenable által jelzett sérülékenységgel kapcsolatban, és amelyek webes interfésze elérhető az Interneten keresztül.

tplink1.png

Természetesen a hazai érintettség ennél sokkal magasabb, hiszen nem mindenki konfigurálja úgy az eszközét, hogy az elérhető legyen az Internet felől (a sérülékenység kihasználásához viszont nincs is erre szükség). Ha a TP-Link hazai penetrációját vesszük figyelembe, az érintettség akár többezres is lehet.

Az összetett sérülékenység két részből áll, az első (CVE-2018-11714) sérülékenység lehetőséget ad a támadónak, hogy hitelesítés nélkül parancsokat adhasson ki a router menedzsment funkcionalitását biztosító interfésznek.

A hiba meglehetősen triviális, ha a támadó a HTTP kapcsolat fejlécébe elhelyezi a „Referer: http://192.168.0.1/mainFrame.htm” elemet, a router úgy érzékeli, mintha a parancsot a routeren belülről (tehát egy magát hitelesített adminisztrátor által kiadva) kapta volna és ellenőrzés nélkül végrehajtja az utasítást.

A hiba akkor is kihasználható, ha a támadó a hamis Referer mezőben a "tplinklogin.net" vagy "tplinkwifi.net" címeket szerepelteti, ezek a címek automatikusan a router IP címére vannak bindelve.

A sérülékenység oka a rossz string feldolgozás (parsing), a router hitelesítettnek veszi az olyan kommunikációt, amelynek Referer fejlécelemében szerepel a "tplinklogin.net" vagy "tplinkwifi.net" (a rossz feldolgozás mellett koncepcionálisan is vicc az egész "hitelesítés-ellenőrzés").

A rossz string feldolgozás miatt a router elfogadja a "tplinklogin.net* és "tplinkwifi.net*" stringeket, pl. elfogadja a tplinklogin.net.akarmi.hu címet is, hiszen szerepel benne a tplinklogin.net string („Referer: http://tplinklogin.net.akarmi.hu/mainFrame.htm”).

tplink2.png

tplink3.png

A második sérülékenység (CVE-2018-15702) egy cross-site request forgery (CSRF) hiba, amely az előzőekben felvázolt authentication bypass sérülékenységgel együtt akár fájlfeltöltés (pl config állomány feltöltése) vagy más adminisztratív parancs is kiadását is lehetővé teszi.

A sérülékenységek kihasználásához a támadónak nem kell kívülről elérnie a router menedzsment felületét, elegendő, ha a felhasználó gépe belülről eléri azt (márpedig ugye eléri).

A felhasználónak elegendő egy fertőzött/preparált weboldalt meglátogatnia, amely aztán a felhasználó böngészőjén a CSRF hibán keresztül az authentication bypass sérülékenységet kihasználva már eléri a routert, lecserélheti a konfigurációt, beállíthatja, hogy az eszköz elérhető legyen az Interneten és akár az adminisztrátori jelszót is megváltoztathatja.

Az eset már csak azért is kritikus, mivel a sérülékenységeket a TP-Link legfrissebb firmware-ében azonosították, és jelenleg a gyártó nem adott még ki javítást. Azaz jelenleg nincs megoldás a problémára, a sérülékenységen keresztül a TP-Link WR841N eszközt használó felhasználók routere, és a router mögötti hálózata is veszélyben van.

(Egy drasztikus megoldás azért van: „Time to disable TP-Link home Wi-Fi router”)

A Tenable kiadott egy PoC videót a  sérülékenység kihasználásáról, érdemes megnézni, hogy egy string feldolgozási (és persze eleve koncepcionális!!!) hiba milyen súlyos sérülékenységhez vezethet.