Ranjivost koja dopušta zamjenu JavaScript koda putem OptinMonster WordPress dodatka

Ranjivost (CVE-2021-39341) identificirana je u OptinMonster WordPress dodatku, koji ima više od milijun aktivnih instalacija i koristi se za prikaz skočnih obavijesti i ponuda, omogućujući vam da postavite svoj JavaScript kod na web mjesto pomoću navedenog dodatka. Ranjivost je popravljena u izdanju 2.6.5. Kako bi blokirali pristup putem snimljenih ključeva nakon instaliranja ažuriranja, programeri OptinMonstera opozvali su sve prethodno stvorene pristupne ključeve API-ja i dodali ograničenja na korištenje ključeva WordPress stranice za izmjenu OptinMonster kampanja.

Problem je bio uzrokovan prisutnošću REST-API-ja /wp-json/omapp/v1/support, kojem se moglo pristupiti bez autentifikacije - zahtjev je izvršen bez dodatnih provjera ako je zaglavlje Referer sadržavalo niz “https://wp .app.optinmonster.test” i prilikom postavljanja vrste HTTP zahtjeva na "OPCIJE" (nadjačano HTTP zaglavljem "X-HTTP-Method-Override"). Među podacima vraćenim prilikom pristupa predmetnom REST-API-ju nalazio se pristupni ključ koji vam omogućuje slanje zahtjeva bilo kojem rukovatelju REST-API-ja.

Koristeći dobiveni ključ, napadač je mogao mijenjati sve skočne blokove prikazane pomoću OptinMonstera, uključujući organiziranje izvršavanja svog JavaScript koda. Nakon što je dobio priliku izvršiti svoj JavaScript kod u kontekstu stranice, napadač je mogao preusmjeriti korisnike na svoju stranicu ili organizirati zamjenu povlaštenog računa u web sučelju kada administrator stranice izvrši zamijenjeni JavaScript kod. Imajući pristup web sučelju, napadač bi mogao postići izvršenje svog PHP koda na poslužitelju.

Izvor: opennet.ru

Dodajte komentar