WordPress 3.3.2 řeší bezpečnostní problémy (nejen) v externích knihovnách

WordPress 3.3.2 oficiálně vyšel již v pátek, a to i když už ho vzhledem k pokročilému vývoji WordPressu 3.4 nikdo nečekal. Objevilo se však několik nových bezpečnostních problémů (např. v používaných externích knihovnách), takže tuto aktuální verzi rozhodně nedoporučujeme ignorovat. WordPress 3.3.2 je tak klasickou ukázkou faktu, že byste neměli aktualizace zanedbávat, protože bezpečnostní problémy ovlivňují i velmi staré verze.

Celý článek bude možná trochu podrobnější (některé detaily byly i přesto výrazně zjednodušeny) a někomu může připadat až zbytečný, ale své čtenáře si určitě najde, protože upozorňuje na mnohé zajímavé funkce a externí knihovny, které WordPress používá. Nejdříve se podrobněji podíváme na bezpečnostní problémy v externích knihovnách:

1) Poměrně nová externí knihovna pro nahrávání obrázků Plupload byla ve WordPressu 3.3.2 aktualizována na nejnovější opravnou verzi 1.5.4 (poslední byla 1.5.1.1 ve WordPressu 3.3). Jen pro připomenutí, tato knihovna umožňuje nahrávat soubory pomocí nejnovějších technologií a flexibilně se přizpůsobuje aktuálně používanému prohlížeči. Takže pokud používáte třeba Chrome, tak budete automaticky nahrávat soubory pomocí HTML5, zatímco v případě Internet Exploreru přijde na řadu např. Flash. Dále jsou podporovány ještě Gears, Silverlight, BrowserPlus a pokud to nejde žádným jiným způsobem, tak lze samozřejmě použít i jednoduché formuláře. Možnost potenciálního zneužití pak existovala právě v případě využití flashové části, a to pokud jste hostovali příslušný .swf soubor na jiné doméně (např. prostřednictvím CDN) a pak byl ještě zpracováván nějakým dalším skriptem. Tato možnost je tedy nyní zakázána, protože mohla být zneužita k CSRF (Cross-Site Request Forgery) útoku.

2) Velmi podobná chyba se objevila i v knihovně SWFUpload, která byla dříve používána k pokročilému nahrávání souborů do WordPressu a některé pluginy ji ještě stále mohou využívat. Bohužel autoři na oznámený bezpečnostní problém nereagovali, takže vývojáři WordPressu nakonec sami upravili aktuálně používanou verzi 2.2.0.1. Brzy bude ale tato knihovna patrně z WordPressu zcela odebrána (už se tomu tak jednou stalo, ale kvůli pluginům byla zase vrácena).

3) Další chyba byla nalezena i v knihovně SWFObject, kterou bylo možné ve WordPressu používat pro vkládání mediálního obsahu ve flashové podobě na web (embedování). Některé pluginy a šablony ji ale ještě stále mohou využívat (sloužila k tomu speciální ikonka vizuálního editoru). Autoři bohužel knihovnu (konkrétně pak používanou verzi 2.2) také neupravili (nebo problém souvisel pouze s WordPressem), takže došlo k opravě přímo od vývojářů WordPressu.

Objeveny byly ale i další bezpečnostní problémy (středně závažné), které souvisí přímo s WordPressem:

1) Potenciální XSS (Cross-Site Scripting) problém u funkce make_clickable(), která se mohla v některých případech pokoušet vytvářet „klikací“ URL adresy i z (podstrčených) hodnot v některých atributech, což mohlo vést následně ke zneužití (oprava).

2) Problém s oprávněním uživatelů, kdy mohl administrátor webu fungujícího v rámci sítě webů za jistých podmínek deaktivovat plugin, který byl automaticky aktivován administrátorem celé sítě webů (oprava 1 a 2).

3) Další XSS problém byl objeven při přesměrovávání uživatelů po vložení komentáře (pouze ve starších prohlížečích), kdy byla při opravě použita bezpečnější funkce wp_safe_redirect(). A poslední riziko spočívalo v nedostatečném filtrování některých URL adres pomocí funkce wp_kses(), kde se opět objevila možnost zneužití prostřednictvím XSS (oprava).

Ve WordPressu 3.3.2 byly také opraveny některé další chyby:

1) Chyba 19769 úzce souvisela s předchozí opravou ve WordPressu 3.3.1, která sice vyřešila trochu jiný problém, ale anonymní (nepřihlášení) uživatelé mohli nově získat informace o uživatelích z proměnné $userdata.

2) Chyba 13839: Při instalaci WordPressu mohly nastat problémy, pokud uživatelské jméno či heslo k databázi obsahovaly apostrofy nebo byla prázdná (nevyplněná) předpona databázových tabulek (tzv. prefix, standardně wp_).

3) Chyba 19498: Odstraněny problémy s přidáváním dalších obrázků do příspěvku (a grafickými problémy při rušení této volby) při použití nástroje Kliknout a publikovat (anglicky Press This).

4) Částečně byla zalepena také chyba 20116, kdy nebylo možné změnit u víceuživatelské verze šablonu notifikačního emailu pro nově vytvořené weby sítě (menu Administrace sítě webů – Nastavení – Network Settings – New Site Settings – Welcome User Email).

Pokud jste na některý z uvedených problémů už náhodou narazili, tak by měl být ve WordPressu 3.3.2 opraven. Každopádně však kvůli bezpečnostním problémům doporučujeme aktualizovat, i když vás zmiňované problémy (zatím) vůbec netrápí.

Celkem bylo ve WordPressu 3.3.2 změněno 25 souborů a prohlédnout si můžete také kompletní přehled změn zdrojového kódu (nenajdete tam ale změny ve zkompilovaných flashových .swf souborech) nebo jen stručný výpis provedených oprav. Aktualizovat můžete samozřejmě automaticky (aktualizovány budou pouze opravdu změněné soubory) nebo ručně stáhnout kompletní instalační balíček. V oblasti překladu se oficiálně nic neměnilo, takže můžete zatím klidně aktualizovat i na anglickou verzi, stávající čeština zůstane zachována. Čeština pro WordPress 3.3.2 vyjde snad ještě dnes, a to po kontrole a případném zapracování nahlášených chyb.

2 komentáře u „WordPress 3.3.2 řeší bezpečnostní problémy (nejen) v externích knihovnách“

  1. Tak nějak mě při tom napadá…jak z toho autoři profitují? Už dlouhé roky dělají tenhle perfektní systém a pořád je zdarma. Jediné, co snad sledují je počet instalací a nějaká čísla verzí. Myslíš, že je to pro ně něco jako nepřímá reklama, co dokážou? Protože něco takového musí vzít ohromné množství času…

    Tvé překlady samozřejmě taky – za to musím určitě poděkovat. Já si překládal jen svůj design a administraci kde má speciální nastavení a na překlad takového obra bych se neodvážil.

Napsat komentář

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

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>