WordPress ranjiv u trenutku ažuriranja, napadači satima vrebaju taj trenutak
U WordPressu je pronađen propust koji otvara pristup sajtu u trenutku ažuriranja platforme. Kad prelazi na novu verziju, WordPress paket se prvo raspakuje u privremeni folder na samom serveru. Do ispravke, ime tog foldera je moglo unapred da se pogodi, a na mnogim serverima folder je dostupan i sa interneta. U tom paketu se nalazi i čarobnjak za prvu instalaciju, stranica koja novom sajtu postavlja pitanje na koju bazu podataka da se poveže. U privremenom folderu čarobnjak ne vidi da je sajt već postavljen, pa odgovara svakome ko ga pozove. Ko stigne prvi, može da ga uputi na svoju bazu i odatle dođe do pokretanja sopstvenog koda na serveru, bez naloga i bez lozinke. Prozor traje nekoliko sekundi, ali se otvara pri svakom ažuriranju, i ručnom i automatskom. Pogođene su sve verzije od 4.7 do 7.1.3. WordPress je propust zatvorio 28. oktobra u verziji 7.1.4, u kojoj se ime privremenog foldera bira nasumično, pa više ne može da se pogodi, a ispravke prenosi i na starije grane. Firma Wordfence, koja štiti WordPress sajtove, dva dana kasnije zabeležila je 62.969 pokušaja takvih napada za 24 sata. Pojedini izvori su manje grupe sajtova proveravali iznova po četrnaest i po sati, čekajući da ažuriranje počne. Američka CISA je propust 3. novembra uvrstila na listu aktivno zloupotrebljenih. Uspešan upad za sada nije javno potvrđen, a ocene se razilaze: WordPress propust vodi kao nizak rizik, Wordfence mu daje 8,1 od 10.
U poslednje dve vesti o jezgru WordPressa savet je bio isti: ažurirajte, i proverite da li automatsko ažuriranje zaista radi. Sada je ranjivo bilo i samo ažuriranje. Savet se zbog toga ne menja, nego dobija dodatak: sa verzijom 7.1.4 taj prozor se zatvara, a do nje se otvarao pri svakom ažuriranju. Napadač ne mora da zna kada će ažuriranje početi. Dovoljno mu je da strpljivo kuca na vrata hiljada sajtova i da čeka da se neka otvore na nekoliko sekundi. To je jeftin posao, a desetine hiljada pokušaja dnevno govore da napadači veruju u isplativost ove metode. WordPress propust ocenjuje kao nizak rizik, i to nije bez osnova: sekunde su kratke, a uspešan napad još nije prijavljen. Ipak, verovatnoća jednog pokušaja nije isto što i verovatnoća hiljadu pokušaja, a napadač koji pokušava danima ne mora da ima sreće, dovoljno je strpljenje.
- Proveri da li je sajt na 7.1.4 ili na zakrpljenoj verziji svoje grane (na primer 7.0.8, 6.9.11, 4.7.39); zakrpa stiže automatskim ažuriranjem, ali proveri da je zaista stigla
- Dok sajt ne ažuriraš, zabrani pristup folderu wp-content/upgrade/ sa veba na nivou servera (Apache ili nginx) i proveri da mu se sadržaj ne može izlistati
- Pregledaj logove servera za zahteve ka PHP fajlovima unutar wp-content/upgrade/, posebno ka setup-config.php, i potraži wp-config.php tamo gde ga ne bi trebalo biti
- Obriši zaostale fajlove iz wp-content/upgrade/ koje ažuriranje nije počistilo
- Proveri da li su se na sajtu pojavili nepoznati administratorski nalozi, dodaci ili PHP fajlovi