V pluginu Custom User Registration Fields for WooCommerce byla zveřejněna kritická zranitelnost umožňující nepřihlášenému útočníkovi vytvořit účet s rolí Administrátor. Chyba se nachází ve zpracování checkoutu přes WooCommerce Store API. Plugin přijme útočníkem podvrženou hodnotu afreg_select_user_role, uloží ji k objednávce a následně ji předá do WP_User::add_role() bez ověření proti rolím povoleným administrátorem.
Útok probíhá přes endpoint WooCommerce Store API /wc/store/v1/checkout a nevyžaduje předchozí účet ani interakci administrátora. Útočník může při vytvoření účtu během checkoutu změnit JSON požadavek a jako požadovanou roli zadat například administrator. Výsledkem může být kompletní převzetí WordPress webu. CVSS je 9,8/10.
Důležitá podmínka: zneužití vyžaduje, aby byla v pluginu zapnutá funkce „User Role Selection“. Na webech, kde je tato funkce aktivní, bych zranitelnost považoval za prioritní k okamžitému řešení.
Doporučuji okamžitě aktualizovat plugin na nejnovější dostupnou opravenou verzi. Pokud aktualizace zatím není k dispozici nebo ji nelze provést ihned, vypnout v pluginu User Role Selection, případně plugin dočasně deaktivovat. U webů, které běžely na ≤ 2.2.3 s touto funkcí zapnutou, zkontrolovat nově vytvořené uživatelské účty, zejména Administrátory, objednávky spojené s novými registracemi a access logy na podezřelé požadavky vůči /wc/store/v1/checkout.
