Január másodikán találtak egy kellemetlen lyukat a PHPUnit rendszerében. Ez a PHPUnit egy nyílt forráskódú GitHub-os tesztelő keretrendszer a PHP nyelvhez. Számos más open-source motor és egyedileg megírt rendszer használja még a PHPUnit-ot, ez egy elterjedt és széles körben használt megoldás a programozók körében.
Ebből kifolyólag a Prestashop is használja, ezért most őt is érinti ez a probléma. Egy XsamXadoo Bot okozza a fejfájást, egy programvírusként fogható fel. Kutatja az interneten azokat a rendszereket amik a fenti PHPUnit sebezhetőségi szempontból kockázatos verzióit tartalmazzák, majd kihasználva a lyukat belép, átveszi az irányítást a rendszer felett.
Javítás
Röviden és tömören: töröld ki az egész “phpunit” mappát ott, ahol ez a szervereden megtalálható. Ezt megteheted FTP klienssel (mondjuk FileZillá-val) vagy valamilyen Fájlmenedzserrel (CPanel vagy egyéb tárhelyszolgáltatói felületen keresztül).
Készítünk egy listát arról, hogy nagy valószínűséggel hol található meg ez a mappa a rendszeredben prioritásos sorrendben. Ha találunk újabb helyet, frissítjük a cikket:
- Ha gyökérben látsz “vendor” mappát, akkor lépj bele, és ha azon belül megtalálható a “phpunit“, akkor egyszerűen töröld ki az egész phpunit mappát.
- Ugyanezt meg kell tenned a modulokkal is. Kattints bele a gyökérbeli /modules/ -be, és nézd át őket: ha tartalmazzák a “vendor” mappát, azon belül pedig a “phpunit“-ot, akkor utóbbit töröld ki.
- Eddig ezekről a modulokról tudunk, amik tartalmazzák a “vendor” mappán belüli “phpunit” mappát:
– autoupgrade modul,
– pscartabandonmentpro modul,
– ps_checkout modul,
– ps_facetedsearch modul,
– gamification modul.
Amennyiben nem találsz a shopodban “vendor” mappát, vagy igen de nem tartalmazza a “phpunit“-ot akkor nincs vész. Ezen felül a “phpunit” mappa törlése nem jár a te szempontodból semmilyen működésbeli kockázattal, ha megtalálod akkor szabadulj meg tőle nyugodtan.
Időközben egy kedves francia programozó készített egy gyors modult, aminek feltelepítésével kilistázhatjuk a problémás fájlokat. Innen tudjátok letölteni:
https://soluka.fr/blog/prestashop/prestashop-faille-phpunit-xsamxadoo-bot/
További linkek, bejelentés, részletezés:
https://www.prestashop.com/en/security-announcement-your-store-vulnerable-malware
https://build.prestashop.com/news/critical-security-vulnerability-in-prestashop-modules/
https://www.prestashop.com/forums/topic/1012095-hack-prestashop-avec-xsamxadoo-bot/
https://nvd.nist.gov/vuln/detail/CVE-2017-9841
Prestashop részéről
Azon felül, hogy a modulokhoz kiadták a javítást tartalmazó (értsd: phpunit mappa nélküli) frissítéseket (tehát ha a fent jelzett modulok valamelyikéhez látsz frissítést, akkor lefrissítheted, de a biztonság kedvéért egy mentés legyen az eredeti mappáról), a Prestashop értesített mindenkit aki érintett lehet az ügyben. A jelenleg letölthető Prestashop verziót (1.7.6.2) már a PHPUnit nélkül adták ki, így biztonságos.
Részletek:
– a problémás fájl: /phpunit/phpunit/src/Util/PHP/eval-stdin.php
– verziók amiket érint: PHPUnit 4-es és 5-ös, egészen a “5.7.15-r1” verzióig, afelett már biztonságos
– SSH-hoz segítség: find. -type d -name “phpunit” -exec rm -rf {} \;