Súlyos sérülékenység a WordPress kedvenc GDPR moduljában
Konkrétan adatvédelmi és IT biztonsági incidenst okozhat a WordPress oldalak kedvenc GDPR modulja, a WP GDPR Compliance komponens.
„Egy szög miatt a patkó elveszett.
A patkó miatt a ló elveszett.
A ló miatt a lovas elveszett.
A lovas miatt a csata elveszett.
A csata miatt az ország elveszett.
Máskor verd be jól a patkószeget!”
Énekelte egykor Halász Judit, pedig akkor még nagyon nem hallottak sem az IT biztonságról, sem pedig a GDPR-ról. A kis dalocska (eredetileg az angol népköltészet remeke) kiválóan rámutat arra, hogy egészen apró dolgok hogyan okozhatnak egészen magas kárértéket.
Buherátor kolléga hívta fel a figyelmemet a Wordfence értesítésére és elemzésére, amely a WP GDPR Compliance WordPress plugin sérülékenységéről szól, és amely alapján elmondható, hogy a „ki őrzi az őrzőket?” kérdés egészen vicces értelmezést nyerhet.
Mi történt?
Szóval adva van egy olyan modul, amely segítségével a WordPress oldalak süti és adatvédelmi szabályzatai (valamint adatigénylések) menedzselhetők, és amely segíti az oldal gazdáját a GDPR megfelelés elérésében (jelentsen ez bármit is).
A vicces ebben az, hogy aki a WP GDPR Compliance modul 1.4.2 vagy korábbi verzióját telepítette (alig 100 ezer oldalról beszélünk világszerte), jó eséllyel számolhat azzal, hogy már hozzáférhettek az oldala tartalmához, illetve, ha nem frissíti gyorsan a plugint, akkor hamarosan hozzáférnek az oldalához, és az ott tárolt adatokhoz.
(legalább 400-500 magyar oldalon használják a sérülékeny modult, bár a kódkeresésből az adott verziószám nem derül ki, a hazai frissítési szokások alapján erősen gyanítható, hogy nem a pár napja kiadott, javított verzió van a hazai oldalakon telepítve)
A két sérülékenység kihasználásával a támadó új, adminisztrátori privilégiummal rendelkező felhasználót hozhat létre, megváltoztathatja az oldal tartalmát (pl. felhasználja az oldalt malware terjesztésre), kizárhatja az eredeti felhasználókat, illetve természetesen az oldalban tárolt adatokhoz is hozzá tud férni.
A Sucuri biztonsági cég jelezte, hogy a sérülékenységet kihasználva a támadók módosítják az oldal SITEURL beállítását, így a kompromittált WordPress oldal módosított tartalma egy kártékony címről (pl. az egyébként már leállított Erealitatea.net) fog betöltődni.
Honnan lehet tudni, hogy kompromittálták az oldalamat?
Néhány egyszerűen ellenőrizhető jelenség utalhat a kompromittálódására, pl. a superuser, t2trollherten, t3trollherten, t(*) trollherten admin jogú felhasználók megjelenése, valamint a backdoorként funkcionáló wp-cache.php megjelenése a WordPress gyökérkönyvtárában.
(Ez utóbbi sajnos akkor is működni fog, ha az eredeti sérülékenység frissítésre került, így ezt a fájlt mindenképpen el kell távolítani.)
Ha az oldal lassan töltődik be, érdemes megnézni a lapok forrását, mert, ha a SITEURL paraméter már nem a saját oldalunkra mutat, hanem egy külső, rosszindulatú címre, az onnan betöltődő (kártékony) tartalmak jelentősen lassíthatják az oldal betöltődési sebességét (főleg, ha az adott oldalt már lekapcsolták, ilyenkor igen lassan fog a saját oldalunk betöltődni).
Mit tegyek?
Át kell nézni az oldal felhasználóit és olyan accountokat kell keresni, akik adminisztrátori jogosultsággal rendelkeznek – amelyet biztosan nem mi hoztunk létre.
Ellenőrizni kell az oldal fájlstruktúráját, és el kell távolítani a gyökérből (illetve ahol még esetleg megtalálható, és nem valamely komponensünkhöz tartozik) a wp-cache.php állományt.
Érdemes az oldalunkat néhány malware ellenőrzőnek megmutatni, erre a legjobban használható a korábban említett Sucuri Site Check (https://sitecheck.sucuri.net/) megoldása, amelyet ingyenesen lehet használni. Szintén érdemes a hasonló Quttera megoldásával is ellenőrizni (https://quttera.com/website-malware-scanner) az oldalt.
A sérülékeny modult frissíteni kell, a gyártó már kijavította a hibát, így mindenképpen telepíteni kell az 1.4.3-as, javított verziót.