Kwesbaarheid wat die vervanging van JavaScript-kode moontlik maak deur die OptinMonster WordPress-inprop

'n Kwesbaarheid (CVE-2021-39341) is geïdentifiseer in die OptinMonster WordPress-byvoeging, wat meer as 'n miljoen aktiewe installasies het en gebruik word om opspringkennisgewings en aanbiedinge te vertoon, sodat jy jou JavaScript-kode op 'n webwerf kan plaas met behulp van die gespesifiseerde byvoeging. Die kwesbaarheid is in vrystelling 2.6.5 reggestel. Om toegang deur vasgelê sleutels te blokkeer nadat hulle die opdatering geïnstalleer het, het OptinMonster-ontwikkelaars alle voorheen geskepde API-toegangsleutels herroep en beperkings bygevoeg op die gebruik van WordPress-werfsleutels om OptinMonster-veldtogte te wysig.

Die probleem is veroorsaak deur die teenwoordigheid van die REST-API /wp-json/omapp/v1/support, waartoe toegang verkry kon word sonder verifikasie - die versoek is uitgevoer sonder bykomende kontrole as die verwyserkop die string "https://wp" bevat het .app.optinmonster.test” en wanneer die HTTP-versoektipe op "OPSIES" gestel word (oorskryf deur die HTTP-opskrif "X-HTTP-Method-Override"). Onder die data wat teruggestuur is met toegang tot die betrokke REST-API, was daar 'n toegangsleutel wat jou toelaat om versoeke aan enige REST-API-hanteerders te stuur.

Deur die verkrygde sleutel te gebruik, kan die aanvaller veranderinge aanbring aan enige opspringblokke wat met OptinMonster vertoon word, insluitend die organisering van die uitvoering van sy JavaScript-kode. Nadat hy die geleentheid gekry het om sy JavaScript-kode in die konteks van die werf uit te voer, kon die aanvaller gebruikers na sy werf herlei of die vervanging van 'n bevoorregte rekening in die webkoppelvlak organiseer wanneer die werfadministrateur die vervangde JavaScript-kode uitgevoer het. Met toegang tot die webkoppelvlak kan die aanvaller sy PHP-kode op die bediener uitvoer.

Bron: opennet.ru

Voeg 'n opmerking