Vážná zranitelnost v pluginu Optin Monster ohrožuje více než 1 000 000 webů - Affinite.io CZ

Optin Monster je velmi oblíbený plugin pro vytváření prodejních kampaní na WordPress webech. Verze pluginu nižší než 2.6.5 velmi vážnou zranitelnost, umožňující napadnou web.

Plugin je dost rozšířený nato, aby jste tento problém brali dostatečně vážně.

Optin Monster stejně jako site app, pro přenos dat používá řadu API endpointů, na které jsou data směřována.

Bohužel, většina Rest API endpointů je velmi slabě chráněna a ošetřena, proti přístupu neautorizovaných uživatelů na různé endpointy na webu, kde je nainstalována zranitelná verze pluginu.

Nejvíce kritický je přístup na Rest API endpoint /wp-json/omapp/v1/support/, který umožňuje získat citlivé informace, například server path, společně s API klíčem, který je vyžadován pro zasílání requestů na OptinMonster web.

S API klíčem může útočník získat přístup ke kampaním, které máte nastavené a ty pozměnit takovým způsobem, že do nich přidá zákeřný Javascript kód, který může kdykoliv spustit.

Nejhorší na tom je, že útočník nemusí být nijak přihlášen, nebo autorizován, protože API endpoint má na parametru permisionss_callback implementovánu funkci logged_in_or_has_api_key.

Ta umožňuje při requestu na endpoint, který má jako referer nastaveno https://wp.app.optinmonster.test a request method = options, získat jako odpověď funkce true.

Pak již stačí nastavit X-HTTP-Method-Override na GET, nebo POST pro úspěšné vykonání requestu.

Funkce logged_in_or_has_api_key:

public function logged_in_or_has_api_key( $request ) {
    if (
        ! empty( $_SERVER['HTTP_REFERER'] )
        && false !== strpos( $_SERVER['HTTP_REFERER'], 'https://wp.app.optinmonster.test' )
        && 'OPTIONS' === $_SERVER['REQUEST_METHOD']
    ) {
        return true;
    }

    return is_user_logged_in() || true === $this->has_valid_api_key( $request );
}

V případě, že máte podezření, že váš web byl napaden přes OptinMonster, podpora vám zneplatní váš API klíč a vygeneruje vám nový.

V každém případě tato chyba neovlivňuje pouze tento konkrétní endpoint, ale i další, které jsou pluginem registrovány, proto bez prodlevy aktualizujte plugin na verzi 2,6,5, která obsahuje záplatu.

Zdroj: https://www.wordfence.com/blog/2021/10/1000000-sites-affected-by-optinmonster-vulnerabilities/

Jak zablokovat nákup pro problematického zákazníka ve WooCommerce
Jak zablokovat nákup pro problematického zákazníka ve WooCommerce
27 Říj, 2021
Úprava kroku množství pro přidání do košíku
Úprava kroku množství pro přidání do košíku
28 Říj, 2021

Looking for something?