Biztonsági rés a WordPress-ben

[Ezt a cikket 4 perc elolvasni.]

Statisztikák szerint WordPress rendszer fut a weboldalak több, mint 30 százalékán, így nem csoda, hogy a hackerek állandó céltáblájává vált. Nemrégiben a nyilvánosság elé került egy olyan még nem foltozott sebezhetőség, ami az összes eddig megjelent WordPress verziót érinti és sajnos a mai napig nem érkezett rá hivatalos javítás. Érdekes adalék az ügyhöz, hogy ez a biztonsági rés elviekben már 7 hónapja jelentve lett a fejlesztői csapatnak, de valamilyen okból kifolyólag még mindig nem készültek el a javítással, tehát nekünk kell a kezünkbe venni a dolgot, ha érintettek vagyunk és ha szeretnénk, hogy az adataink/fájljaink továbbra is biztonságban legyenek.

Nézzük kicsit részletesebben, hogy miről is van szó.

Ahogy említettem az összes megjelent WordPress verzió érintett (a jelenlegi 4.9.6-ig), tehát itt most nem tudjuk megoldani a problémát egy egyszerű frissítéssel (még). A sebezhetőség kihasználásához a támadónak hozzá kell tudni férni a médiatárhoz, hogy szerkeszteni/törölni tudja a feltöltött fájlokat. Ebből következik, hogy ha a weboldaladon engedélyezett a regisztráció és egy hétköznapi látogató valamilyen formában képes lehet “szerző” jogkört szerezni, akkor te is érintett vagy a sebezhetőségben. Szerencsére egy hétköznapi “feliratkozó” nem tud hozzáférni a médiatárhoz, így ha a regisztráció csak ezt a jogkört biztosítja a felhasználóknak az oldaladon, akkor szinte biztos, hogy nem vagy veszélyben. Mint ahogy akkor sem, ha csak te kezeled az oldalt és te vagy az egyetlen adminisztrátor. Persze létezhetnek olyan bővítmények, amik belenyúlnak a jogosultsági rendszerbe és biztosíthatnak hozzáférést a médiatárhoz bárkinek vagy akár csak egy specifikus csoportnak, tehát ha egyedi rendszerrel dolgozol, akkor érdemes ennek is utánanézni.

Ha adottak a feltételek (azaz a médiatárhoz történő hozzáférés), akkor a támadó képes lehet az egész oldal és a teljes fájlrendszer törlésére, ezen felül pedig még a tárhely és a szerver egyéb fájljait is törölheti, ha a PHP folyamatot futtató felhasználónak van ezekhez hozzáférése. A sebezhetőségen keresztül saját kód futtatására is van lehetőség, ami szintén katasztrofális lehet. Biztonsági mentés megléte nélkül az összes adatunk/munkánk és a teljes weblapunk odaveszhet, a tárhelyünk pedig bármilyen egyéb kártékony célra felhasználhatóvá válik (spam üzenetek küldése, más gépek/weboldalak megfertőzése, bitcoin bányászat és még sorolhatnám).

A lenti kis videóban a sebezhetőség kiaknázásának lépései láthatók egy teszt oldal esetében:

Ebben a példában a wp-config.php fájlt törli ki a támadó a médiatár fájltörlési sebezhetőségét kihasználva, így akár teljes egészében újra is telepítheti az oldalt, ha szeretné.

Szerencsére létezik egy nagyon egyszerű kis javítás, ami a WordPress felhasználói közösség által készült, ezt a kódsort csak hozzá kell adnunk a sablonunk functions.php fájljához és már be is zártuk a biztonsági rést:

add_filter( 'wp_update_attachment_metadata', 'rips_unlink_tempfix' );

function rips_unlink_tempfix( $data ) {
if( isset($data['thumb']) ) {
$data['thumb'] = basename($data['thumb']);
}

return $data;
}

Remélhetőleg a WordPress fejlesztők is rövidesen elkészítik a hivatalos javítást, addig pedig a fenti megoldás lehet a segítségünkre. A nyomás kétség kívül egyre erősebb, hiszen ez egy igen komoly sebezhetőség és nehéz elhinni, hogy 7 hónap alatt sem lett kész megoldás erre a problémára. Talán az állhat a dolog mögött, hogy néhány nappal ezelőttig ez a biztonsági rés sem volt ennyire közismert, de most, hogy média visszhangot kapott a sztori valószínűleg felgyorsulnak majd az események.

Ha tetszik, mutasd meg másoknak is: