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.
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”).
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.