В WordPressDoplnok OptinMonster, ktorý má viac ako milión aktívnych inštalácií a používa sa na zobrazovanie kontextových oznámení a ponúk, mal zraniteľnosť (CVE-2021-39341), ktorá umožňuje vloženie vlastného kódu JavaScript na webovú stránku pomocou doplnku. Zraniteľnosť bola opravená vo verzii 2.6.5. Aby vývojári OptinMonster po inštalácii aktualizácie zablokovali prístup prostredníctvom unesených kľúčov, zrušili všetky predtým vytvorené prístupové kľúče API a pridali obmedzenia týkajúce sa ich používania. WordPress-stránky na zmenu kampaní OptinMonster.
Problém bol spôsobený prítomnosťou REST-API /wp-json/omapp/v1/support, ku ktorému bolo možné pristupovať bez autentifikácie - požiadavka bola vykonaná bez dodatočných kontrol, ak hlavička Referer obsahovala reťazec „https://wp .app.optinmonster.test“ a pri nastavení typu požiadavky HTTP na „OPTIONS“ (prepísané hlavičkou HTTP „X-HTTP-Method-Override“). Medzi údajmi vrátenými pri prístupe k predmetnému REST-API bol prístupový kľúč, ktorý vám umožňuje odosielať požiadavky ľubovoľným obslužným programom REST-API.
Pomocou získaného kľúča mohol útočník upraviť akékoľvek vyskakovacie bloky zobrazené OptinMonsterom vrátane spustenia vlastného kódu JavaScript. Spustením svojho kódu JavaScript v kontexte stránky mohol útočník presmerovať používateľov na svoju vlastnú stránku alebo nahradiť privilegovaný účet vo webovom rozhraní, keď správca stránky spustil nahradený kód JavaScript. S prístupom k webovému rozhraniu mohol útočník spustiť vlastný kód PHP. server.
Zdroj: opennet.ru
