In de WordPress-plugin OptinMonster, die meer dan een miljoen actieve installs heeft en wordt gebruikt voor het organiseren van pop-upmeldingen en aanbiedingen, is een kwetsbaarheid (CVE-2021-39341) ontdekt die het mogelijk maakt om eigen JavaScript-code op een website die deze plugin gebruikt te plaatsen. De kwetsbaarheid is verholpen in versie 2.6.5. Om de toegang via gestolen sleutels na de update te blokkeren, hebben de ontwikkelaars van OptinMonster alle eerder aangemaakte API-toegangssleutels ongeldig gemaakt en zijn er beperkingen toegevoegd aan het gebruik van sleutels van WordPress-sites voor het wijzigen van OptinMonster-campagnes.
Het probleem wordt veroorzaakt door de aanwezigheid van de REST-API /wp-json/omapp/v1/support, die toegankelijk was zonder authenticatie ā het verzoek werd uitgevoerd zonder extra controles met de Referer-header ingesteld op "https://wp.app.optinmonster.test" en met het type HTTP-verzoek ingesteld op "OPTIONS" (aangepast via de HTTP-header "X-HTTP-Method-Override"). Onder de gegevens die worden geretourneerd bij een verzoek aan de betreffende REST-API, was er een toegangssleutel aanwezig waarmee verzoeken naar elke REST-API-handler konden worden gestuurd.
Met de verkregen sleutel kon de aanvaller wijzigingen aanbrengen in alle pop-up blokken die via OptinMonster worden weergegeven, inclusief het uitvoeren van zijn eigen JavaScript-code. Met de mogelijkheid om zijn eigen JavaScript-code in de context van de website uit te voeren, kon de aanvaller gebruikers omleiden naar zijn eigen site of het inbrengen van een bevoorrechte account in de webinterface mogelijk maken wanneer de geĆÆnjecteerde JavaScript-code door de beheerder van de site werd uitgevoerd. Met toegang tot de webinterface kon de aanvaller zijn PHP-code uitvoeren op de server.
Bron: opennet.ru
