Sårbarhet som tillater erstatning av JavaScript-kode gjennom OptinMonster WordPress-plugin

En sårbarhet (CVE-2021-39341) er identifisert i OptinMonster WordPress-tillegget, som har mer enn en million aktive installasjoner og brukes til å vise popup-varsler og tilbud, slik at du kan plassere JavaScript-koden din på et nettsted ved å bruke det angitte tillegget. Sårbarheten ble løst i versjon 2.6.5. For å blokkere tilgang gjennom fangede nøkler etter installasjon av oppdateringen, tilbakekalte OptinMonster-utviklere alle tidligere opprettede API-tilgangsnøkler og la til restriksjoner på bruken av WordPress-nettstedsnøkler for å endre OptinMonster-kampanjer.

Problemet var forårsaket av tilstedeværelsen av REST-API /wp-json/omapp/v1/support, som kunne nås uten autentisering - forespørselen ble utført uten ytterligere kontroller hvis Referer-overskriften inneholdt strengen "https://wp .app.optinmonster.test» og når du setter HTTP-forespørselstypen til "OPTIONS" (overstyrt av HTTP-overskriften "X-HTTP-Method-Override"). Blant dataene som ble returnert ved tilgang til den aktuelle REST-API-en, var det en tilgangsnøkkel som lar deg sende forespørsler til alle REST-API-behandlere.

Ved å bruke den innhentede nøkkelen, kunne angriperen gjøre endringer i alle popup-blokker som vises ved hjelp av OptinMonster, inkludert å organisere utførelsen av JavaScript-koden hans. Etter å ha fått muligheten til å kjøre JavaScript-koden sin i konteksten til nettstedet, kunne angriperen omdirigere brukere til nettstedet sitt eller organisere erstatning av en privilegert konto i nettgrensesnittet når nettstedsadministratoren utførte den erstattede JavaScript-koden. Ved å ha tilgang til nettgrensesnittet, kan angriperen oppnå kjøring av PHP-koden sin på serveren.

Kilde: opennet.ru

Legg til en kommentar