Wykryta podatność umożliwiająca wstrzykiwanie kodu JavaScript przez wtyczkę WordPress OptinMonster

W dodatku WordPress OptinMonster, który ma ponad milion aktywnych instalacji i jest używany do wyświetlania wyskakujących powiadomień i ofert, zidentyfikowano lukę (CVE-2021-39341), która umożliwia umieszczenie własnego kodu JavaScript na stronie korzystającej z tego dodatku. Luka została usunięta w wydaniu 2.6.5. Aby zablokować dostęp przez przechwycone klucze po zainstalowaniu aktualizacji, deweloperzy OptinMonster unieważnili wszystkie wcześniej utworzone klucze dostępu do API i dodali ograniczenia dotyczące użycia kluczy WordPress w celu modyfikacji kampanii OptinMonster.

Problem wynikał z obecności REST-API /wp-json/omapp/v1/support, do którego dostęp był możliwy bez uwierzytelnienia — zapytanie było wykonywane bez dodatkowych kontroli, gdy w nagłówku Referer znajdowała się linia "https://wp.app.optinmonster.test" i przy ustawieniu typu żądania HTTP na "OPTIONS" (nadpisywane przy pomocy nagłówka HTTP "X-HTTP-Method-Override"). Wśród danych zwracanych podczas odwołania do omawianego REST-API był klucz dostępu, który umożliwiał wysyłanie zapytań do dowolnych handlerów REST-API.

Dzięki uzyskanemu kluczowi atakujący mógł wprowadzać zmiany w dowolnych wyskakujących blokach wyświetlanych za pomocą OptinMonster, w tym zorganizować wykonanie własnego kodu JavaScript. Zdobywszy możliwość wykonania własnego kodu JavaScript w kontekście strony, atakujący mógł przekierować użytkowników na swoją stronę lub zorganizować podmianę uprzywilejowanego konta w interfejsie webowym przy wykonaniu podstawionego kodu JavaScript przez administratora strony. Mając dostęp do interfejsu webowego, atakujący mógł uzyskać wykonanie własnego kodu PHP na serwerze.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster