WordPress 4.2.2 – kritická bezpečnostní a opravná verze

A máme tu další kritickou bezpečnostní aktualizaci, tentokrát doplněnou opravami některých poměrně závažných chyb. WordPress 4.2.2 oficiálně vyšel už během noci na čtvrtek a ovlivněny jsou také všechny starší verze. Co se vlastně stalo?

V současné době jsou často používány různé volně dostupné ikonky v podobě speciálních fontů, které lze na webu poměrně snadno a rychle implementovat. Vývojáři tak nemusí vytvářet mnoho malých obrázků, ale stačí pouze zobrazovat jednotlivé znaky (ikonky) z načteného fontu. Za zmínku stojí třeba font Dashicons, který vznikl zejména proto, aby mohl být použit pro potřeby administrace a je součástí WordPressu. Ikonky z tohoto fontu určitě dobře znáte (i když o tom třeba ani nevíte), např. z levého administračního menu (aneb názorné ikonky pro jednotlivé sekce).

Dalším oblíbeným fontem je pak právě Genericons, jehož autorem je mimochodem firma Automattic, aneb provozovatel WordPress.com a sponzor vývoje samotného WordPressu. Vzhledem k rozsáhlé nabídce zdarma dostupných (GPL) ikonek je font často používán v šablonách i pluginech a najdete ho i ve výchozích šablonách (Twenty Fifteen, Twenty Fourteen a Twenty Thirteen). Na tomto webu ho můžete vidět např. pod názvem příspěvku, kde byl použit pro malé ikonky znázorňující datum, autora, komentáře, atd.

Součástí každé instalace tohoto speciálního fontu byl však bohužel i soubor example.html, kde jsou sice uvedeny i ukázky implementace, ale v podstatě šlo hlavně o testovací soubor pro vývojáře, který nebyl z bezpečnostního hlediska dostatečně ošetřen a v příslušném instalačním balíčku ho prostě zapomněli :-) Podobná chyba se někdy může stát asi každému a většinou nad tím můžeme jen pobaveně mávnout rukou. Ale v tomto případě došlo k okamžitému ohrožení milionů webů po celém světě.

Každý plugin nebo šablona s tímto fontem mohla závažně ohrozit celý web prostřednictvím Cross-site scriptingu (XSS).na úrovni DOM (tedy už samotného prohlížeče). A protože font obsahovaly i výchozí šablony, které jsou součástí WordPressu, tak šlo o dost nebezpečný problém. Pokud třeba nemáte povolené automatické aktualizace (nebo z nějakého důvodu nefungují), tak můžete být stále napadeni.

Zneužití je potenciálně velmi jednoduché, stačí podstrčit (např. prostřednictvím emailu či komentáře) přihlášenému administrátorovi speciální odkaz s potřebným JavaScriptem. Útočník musí být samozřejmě alespoň trochu šikovný a odkaz podstrčit třeba v rámci nějakého normálního emailového dotazu. Odkaz bude směřovat na příslušnou doménu, takže by ho administrátor nemusel na první pohled podezřívat. A pokud na něj klikne, tak útočník okamžitě získává cookies s jeho přihlašovací relací a může začít spravovat web podle svých představ. Podrobnější informace o tomto druhu bezpečnostního problému naleznete zde.

Celá historie této chyby je také velmi zajímavá (a snad jsem ji z různých útržků pochopil správně). Původně byla totiž nahlášena vývojářům už před dvěma týdny, a to na základě zjištění firmy Netsparker, která se bezpečností profesionálně zabývá a nabízí pro tyto účely i specializované nástroje. Nic moc se však nedělo, dokud stejnou chybu nezachytili také odborníci ve firmě Sucuri, kteří u některých klientů identifikovali pokusy o zneužití inkriminovaného souboru. O problému pak raději informovali alespoň některé velké (zejména americké) hostingové firmy, které začaly tento soubor hromadně odstraňovat. Chyba pak už byla oficiálně zveřejněna (aby se zamezilo dalšímu zneužívání) a teprve poté vychází WordPress 4.2.2.

Proč vývojáři čekali tak dlouho s velmi jednoduchou opravou bohužel není jasné, možná chtěli nejdříve dořešit další problémy a nespěchat příliš s novou verzí, zejména po nedávné “rychlovce” v podobě WordPressu 4.2.1. A pokud by nebyla chyba zveřejněna, tak by se třeba ještě pořád čekalo a mezitím mohly být některé weby zbytečně napadeny. Nakonec se ještě objevila jedna doplňující informace, podle které se o této chybě vědělo už téměř rok, kdy byla poprvé nahlášena jako bezpečnostní problém oficiálního webu fontu Genericons. Následně sice došlo k opravě, ale nikoho už asi nenapadlo, jaké by mohla mít důsledky.

WordPress 4.2.2 v rámci automatické aktualizace smaže nebezpečný soubor nejen ve výchozích šablonách, ale pro jistotu prohlédne i celý adresář wp-content, takže se nemusíte obávat, že by někde nějaký nebezpečný soubor zůstal (pokud máte font v nějaké šabloně vyrobené na zakázku). Pro výchozí šablony pak byly vydány nové verze a kvůli závažnosti celé situace také poprvé došlo k hromadnému zásahu do šablon a pluginů z oficiálních adresářů, aniž by se někdo ptal jejich autorů (i když šlo pouze o odebrání nebezpečného a nepotřebného souboru). Kromě WordPressu 4.2.2 byly opět vydány i starší verze (4.1.5, 4.0.5, 3.9.6, 3.8.8, a 3.7.8).

WordPress 4.2.2 opravuje i další bezpečnostní problém, respektive jde o další pokus o komplexní řešení (oprava) chyby, která se nepodařila zcela opravit v minulé verzi. A doplněno bylo ještě jedno posílení bezpečnosti (prevence XSS), tentokrát u vizuálního editoru. V tomto případě byla implementována částečná aktualizace na novou verzi TinyMCE 4.1.10.

Kromě kritických bezpečnostních problémů bylo opraveno také dalších 13 chyb (podrobnosti), z nichž některé jsou poměrně závažné:

  • S jednou z nich jsme se setkali i v našem fóru, kdy přestala fungovat automatická aktualizace. Pokud patříte mezi postižené uživatele, tak musíte bohužel aktualizovat ručně.
  • Několik problémů bylo způsobeno smajlíky emodži (novinka WordPressu 4.2), které mohly způsobit JavaScriptové chyby (pro uživatele Internet Exploreru 9 a 10) nebo zcela zablokovat prohlížeč. V některých případech pak kvůli nim přestal fungovat vizuální editor.
  • Změna kódování databáze na utf8mb4 už také určitě způsobila vývojářům mnoho vrásek a související problémy nás budou patrně ještě nějakou dobu doprovázet (už jsou hlášeny dvě závažné chyby pro WordPress 4.2.3).
  • A ještě poslední oprava asi stojí za zmínku, tentokrát docházelo k neefektivnímu získávání položek hierarchických taxonomií z databáze (při použití funkce get_terms() s parametrem child_of), což by mělo být v nové verzi optimalizováno.

Čeština pro WordPress 4.2 zatím ještě nevyšla, ale práce průběžně pokračuje, a měla by se objevit už počátkem příštího týdne.

Ideální český hosting pro český WordPress je CZECHIA.CZ

One thought on “WordPress 4.2.2 – kritická bezpečnostní a opravná verze”

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *