V dodatku WordPress OptinMonster, ktorý má viac ako milión aktívnych inštalácií a používa sa na organizovanie zobrazenia vyskakovacích upozornení a ponúk, bola zistená zraniteľnosť (CVE-2021-39341), ktorá umožňuje umiestniť svoj JavaScript kód na stránku používajúcu uvedený doplnok. Zraniteľnosť bola odstránená vo verzii 2.6.5. Na zablokovanie prístupu prostredníctvom zachytených kľúčov po inštalácii aktualizácie vývojári OptinMonster anulovali všetky predtým vytvorené prístupové kľúče k API a pridali obmedzenia na používanie kľúčov WordPress stránok na zmenu kampaní OptinMonster.
Problém je spôsobený prítomnosťou REST-API /wp-json/omapp/v1/support, ktorého prístup bol možný bez autentifikácie — požiadavok bol vykonaný bez ďalších kontrol v prípade, že v hlavičke Referer bola prítomná reťazec „https://wp.app.optinmonster.test“ a pri nastavení typu HTTP požiadavky na „OPTIONS“ (prepisovať sa pomocou HTTP hlavičky „X-HTTP-Method-Override“). Medzi údajmi vracajúcimi sa pri oslovení uvedeného REST-API sa nachádzal prístupový kľúč, ktorý umožňoval zasielať požiadavky na akékoľvek spracovateľské funkcie REST-API.
Prostredníctvom získaného kľúča mohol útočník vykonať zmeny v akýchkoľvek vyskakovacích blokoch zobrazených pomocou OptinMonster, vrátane spustenia svojho JavaScript kódu. Získaním možnosti vykonať svoj JavaScript kód v kontexte stránky mohol útočník presmerovať používateľov na svoju stránku alebo organizovať substitúciu privilegovanej účtu v webovom rozhraní pri vykonávaní podstrčeného JavaScript kódu správcom stránky. S prístupom do webového rozhrania mohol útočník dosiahnuť vykonanie svojho PHP kódu na serveri.
Zdroj: opennet.ru
