WordPress’i 4.7.2 paikab väga olulise turvaaugu
WordPressi versiooni 4.7.2 ilmumisest teatanud ametlikus blogipostis oli mainitud mitut turvapaika, aga taotluslikult puudus sealt üks väga oluline – nimelt oli Sucuri avastanud võimaluse kasutada ära versioonides 4.7 ja 4.7.1 vaikimisi lubatud REST-rakendusliidest postituste ja lehtede sisu meelevaldseks muutmiseks (“content injection“), mis sõltuvalt kasutusel olevatest pluginatest/teemadest võib olla eskaleeritav ka PHP koodi käivitamiseks (“remote code execution“).
- Sucuri postitus: Content Injection Vulnerability in WordPress
- WP teavitus: Disclosure of Additional Security Fix in WordPress 4.7.2
- Akamai väga detailne selgitus: WordPress Web API Vulnerability
Teavitamisega viivitati, andmaks automaatsete uuendustega veebidele aega uue versiooni paigaldamiseks. Samuti liikus eelhoiatus “asjaomastest infoturberingkondades”.
Mida see tähendab?
Tõenäoliselt hakkame lähitundidel nägema WordPresside vastu suunatud rünnakukatseid, kus proovitakse muuta postituste sisu lisamaks näiteks SEO-spämmi ehk linke kurjategijate poolt promotavatele veebidele – või siis koodi, mis suunab kasutajad pahavara levitavatele lehtedele.
Kui kasutad WordPressi ja sul on kasutusel versioon 4.7 või 4.7.1 mida pole veel automaatselt uuendatud versioonile 4.7.2 (või sa pole selles kindel), siis logi haldusliidesesse sisse ja käivita uuendus – või löö oma veebimeister maast lahti. Hiljem veebisisu puhastamine on oluliselt kallim, eriti arvestades vajadust kontrollida üle mitte ainult serveris olevad failid, vaid ka postituste sisu. Isegi see, kui uuenduse käigus midagi katki peaks minema ja parandamist nõudma (üsna vähetõenäoline) on suurusjärgu või paari jagu väiksem kulu võrreldes veebi puhastamise vajadusega.
Zone Virutaalserverite “farmil” kaitsvad loitsud peal
Olen nüüd loodetavasti piisavalt rõhutanud uuendamise vajadust ja võin ka vaikselt mainida, et kuna Sucuri avaldas probleemi analüüsi, siis oli sellest võimalik tuletada ka kaitseviis – ning me sund-paigaldasime selle kõikidesse meie hallatavatesse serveritesse, eeldatavasti probleeme tekitavate kõrvalmõjudeta. Samuti oleme hoidnud silma peal Zone+ uuendustel, et kõik kellel väiksed uuendused lubatud on saaksid endale 4.7.2 peale.
Kui su WordPress on majutatud mõne teise teenusepakkuja juures ja puudub võimalus uuendamiseks (aga saad lisada pluginaid), siis on abi Disable REST API pluginast. Samas ma soovitaks sellisel puhul arendajale otsa (kui oled arendaja, siis peeglisse) vaadata ja küsida, et miks ei saa kohe ja automaatselt uuendada.
Kui oled teenusepakkuja nagu meie – siis võiksid lisada ka oma serveritesse reeglid… aga kuna WP ja Sucuri hetkel neid välja ei jaga (mõnevõrra küsitav taktika, kuna ründeviis on üsna hästi kirjas), siis ütleme inimkeeles, et kinni tuleks keerata post-put-patch meetodid wp-json/wp/v2/posts/ endpoint’i vastu (soovitavalt ainult olukorras, kus seal sabas on midagi muud peale numbrite).
Täiendet – ka get vajab reegleid, sest sealtkaudu saab vajadusel teise _method’i anda, vajadusel võib mul privas küsida reegleid mida WP core tiim suurte teenusepakkujatega jagas.