Chyba pluginu umožňuje přístup k milionům webů WordPress

17. 11. 2024 Chyba v bezpečnostním pluginu na milionech webů WordPress umožňuje přístup k administraci

Byla objevena kritická zranitelnost obcházení autentizace ovlivňující plugin WordPress ‚Really Simple Security‘ (dříve ‚Really Simple SSL‘), a to jak ve verzi zdarma, tak ve verzi Pro.

Really Simple Security je bezpečnostní plugin pro platformu WordPress, který nabízí konfiguraci SSL, ochranu přihlášení, dvoufaktorovou vrstvu ověřování a detekci zranitelností v reálném čase. Jen jeho bezplatná verze se používá na více než čtyřech milionech webových stránek.

Společnost Wordfence, která chybu zveřejnila, ji označuje za jednu z nejzávažnějších zranitelností zaznamenaných ve své dvanáctileté historii a varuje, že umožňuje vzdáleným útočníkům získat plný administrátorský přístup k napadeným webům.

Aby toho nebylo málo, chyba může být zneužita hromadně pomocí automatizovaných skriptů, což může vést k rozsáhlým kampaním na převzetí webových stránek.

Wordfence proto navrhuje, aby poskytovatelé hostingu vynutili aktualizaci zásuvného modulu na webech zákazníků a prohledali jejich databáze, aby se ujistili, že nikdo nepoužívá zranitelnou verzi.

2FA vede ke slabšímu zabezpečení

Jedná se o kritickou chybu CVE-2024-10924, kterou objevil výzkumník společnosti Wordfence István Márton 6. listopadu 2024.

Je způsobena nesprávným zpracováním ověřování uživatelů v dvoufaktorových akcích REST API zásuvného modulu, což umožňuje neoprávněný přístup k libovolnému uživatelskému účtu, včetně správců.

Konkrétně problém spočívá ve funkci ‚check_login_and_get_user()‘, která ověřuje identitu uživatele kontrolou parametrů ‚user_id‘ a ‚login_nonce‘.

Pokud je parametr ‚login_nonce‘ neplatný, požadavek není odmítnut, jak by měl, ale místo toho je vyvolána funkce ‚authenticate_and_redirect()‘, která ověřuje uživatele pouze na základě parametru ‚user_id‘, což ve skutečnosti umožňuje obejít ověřování.

Chyba je zneužitelná, pokud je povoleno dvoufaktorové ověřování (2FA), a přestože je ve výchozím nastavení vypnuto, mnoho správců jej povolí kvůli vyššímu zabezpečení účtu.

CVE-2024-10924 ovlivňuje verze zásuvných modulů od verze 9.0.0 až po 9.1.1.1 verzí „free“, „Pro“ a „Pro Multisite“.

Vývojář chybu vyřešil tím, že zajistil, aby kód nyní správně zpracovával selhání ověření „login_nonce“ a okamžitě ukončil funkci „check_login_and_get_user()“.

Opravy byly použity ve verzi 9.1.2 pluginu, která byla vydána 12. listopadu pro verzi Pro a 14. listopadu pro uživatele zdarma.

Výrobce koordinoval s WordPress.org provedení vynucených bezpečnostních aktualizací u uživatelů zásuvného modulu, ale správci webových stránek musí přesto zkontrolovat a zajistit, že používají nejnovější verzi (9.1.2).

Uživatelé verze Pro mají po vypršení platnosti licence vypnuté automatické aktualizace, takže musí verzi 9.1.2 aktualizovat ručně.

Ke včerejšímu dni Statistiky webu WordPress.org, který monitoruje instalace bezplatné verze pluginu, vykazovaly přibližně 450 000 stažení, takže 3 500 000 webů bylo potenciálně vystaveno této chybě.