Négy éve sebezhető a WordPress
A WordPress oldalak jelentős részét érinti az a sebezhetőség, amelyről a napokban számolt be egy finn biztonsági szakértő, Jouk Pynnonen. A sérülékenységen keresztül bárki adminjogot szerezhet.
Több éve tátongó sebezhetőséget talált a népszerű nyílt forrású WordPress tartalomkezelő rendszerben egy finn kutató. A sérülékenységet kihasználó cross-site scripting (XSS) támadással gyakorlatilag bárki átveheti a teljes kontrollt a WordPressre épülő oldal felett, adminisztrátori jogosultsággal tevékenykedve.
A sebezhetőséget viszonylag egyszerűen ki lehetett használni, a támadónak a kommentablakba kellett másolnia a JavaScriptet tartalmazó kódot. Gyári alapbeállítás esetén a WordPressben engedélyezve van az azonosítás nélküli kommentelés, így lényegében bárki számára nyitott a lehetőség, hogy átvegye az irányítást a tartalomkezelő rendszerre épülő oldalak felett. A kód akkor fut le, amikor az adminisztrátor megtekinti az adott kommentet, ekkor a támadó gyakorlatilag adminjoggal tevékenykedhet az oldalon és például létrehozhat egy második, adminjogú felhasználót, amelyen keresztül elérheti az oldalt.
Emellett lehetőség van például a jelenlegi admin jelszavának megváltoztatására is, hogy az többé ne tudjon belépni, de a WordPresst futtató szerveren tetszőleges PHP is lefuttatható operációsrendszer-szintű hozzáféréssel. A hiba a "death by comments" fantázianevet kapta. Pynnonen természetesen a sebezhetőséget kihasználó "proof of concept" kódot is elkészítette, de weboldalán előzékenyen közzétett egy WordPress-plugint is, amelyet az oldalba építve a támadást ki lehet védeni.
Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.
A hibát a kommentek kezelése okozza: a WordPress a hozzászólások feldolgozásakor a wptexturize() függvény segítségével bontja szét a szöveget és keresi meg az esetlegesen beágyazott HTML tageket, illetve a WordPress saját kódjait. Egy megfelelően formázott hozzászólással ki lehet akasztani ezt a függvényt, amelynek az eredmény, hogy a kommentbe ágyazott kód lefut.
Közel négy évig létezett a WordPressben a sebezhetőség, a 3.0 verziótól egész a 3.9.2-ig bezárólag tesztelte a hiba kihasználhatóságát a finn szakember és arra jutott, hogy az összes 3.x változat támadható. Az idén szeptemberben kiadott WordPress 4.0-ban a kommentek kezelését teljesen megváltoztatták, így a 4.x változatok már nem sebezhetők ezzel a módszerrel.