Chyba, ktorá umožňuje nahradenie kódu JavaScript prostredníctvom doplnku OptinMonster WordPress

Zraniteľnosť (CVE-2021-39341) bola identifikovaná v doplnku OptinMonster WordPress, ktorý má viac ako milión aktívnych inštalácií a používa sa na zobrazovanie kontextových upozornení a ponúk, čo vám umožňuje umiestniť váš kód JavaScript na stránku. pomocou určeného doplnku. Chyba zabezpečenia bola opravená 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 zrušili všetky predtým vytvorené prístupové kľúče API a pridali obmedzenia na používanie kľúčov stránok WordPress na úpravu 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