Jak podaje Securityweek ponad milion witryn postawionych na WordPressie było narażonych poprzez krytyczną lukę w zabezpieczeniach wtyczki Ninja Forms. Uwaga, luka jest wykorzystywana w atakach!

Omawiana wtyczka- Ninja Forms ma ponad milion instalacji. Pomaga administratorom dodawać konfigurowalne formularze do witryn WordPress. Wykorzystywany problem bezpieczeństwa, który został zidentyfikowany w funkcji Merge Tag wtyczki, nie ma jeszcze identyfikatora CVE, ale jego wynik CVSS wynosi 9,8.

„Jedną z funkcji Ninja Forms jest możliwość dodawania znaczników scalania do formularzy, które będą automatycznie wypełniać wartości z innych obszarów WordPressa, takich jak identyfikatory postów i nazwy zalogowanych użytkowników”, wyjaśnia zespół Wordfence w firmie Defiant zajmującej się bezpieczeństwem WordPress.

Z powodu tego błędu możliwe było wywołanie różnych klas Ninja Form i nadużycie ich w celu „szerokiego zakresu exploitów wymierzonych w podatne na ataki witryny WordPress” – twierdzą badacze Wordfence. Zauważają również, że sposób, w jaki klasa NF_MergeTags_Other obsługuje znaczniki scalania, umożliwia nieuwierzytelnionym atakującym ingerencję w formę strony.

Jak zauważa Wordfence, wtyczka Ninja Forms zawiera różne klasy i funkcje, które można wykorzystać w ramach wielu łańcuchów exploitów.

„Jeden potencjalnie krytyczny łańcuch exploitów obejmuje w szczególności użycie klasy NF_Admin_Processes_ImportForm w celu uzyskania zdalnego wykonania kodu poprzez deserializację, chociaż musiałaby być zainstalowana inna wtyczka lub motyw na stronie z użytecznym widgetem” – mówią naukowcy.

Wordfence twierdzi, że ma dowody na to, że luka „jest aktywnie wykorzystywana na wolności”, ale nie ujawniła jeszcze żadnych szczegółów na temat łańcuchów exploitów, z których korzystają atakujący.

Luka została usunięta na początku tego tygodnia wraz z wydaniem wersji Ninja Forms 3.0.34.2, 3.1.10, 3.2.28, 3.3.21.4, 3.4.34.2, 3.5.8.4 i 3.6.11.

WordPress najwyraźniej wykonał wymuszoną aktualizację, co oznacza, że dotknięte witryny powinny już być w wersji załatanej. Jednak administratorom zaleca się sprawdzenie swoich iteracji Ninja Forms, aby upewnić się, że używają bezpiecznej wersji.

Przypomnijmy, że WordPress to napisany w języku PHP system zarządzania treścią strony (CMS) zaprojektowany głównie do obsługi blogów. Wykorzystuje bazę danych MySQL. Rozpowszechniany jest na licencji otwartej co oznacza, że jest dostępny bezpłatnie. Według danych W3Techs, firmy analizującej rynek IT, w maju 2018 aż 30,7% stron na świecie pracowało w oparciu o WordPress. Z kolei wśród systemów zarządzania treścią WordPress miał udział na poziomie 59,9% – czyli był najpopularniejszym CMSem na świecie.

To co wyróżnia tego CMS-a to Architektura wtyczek. Pozwala ona użytkownikom rozszerzyć funkcjonalność swojej strony internetowej lub bloga. WordPress ma ponad 50 000 dostępnych wtyczek, z których każda oferuje niestandardowe funkcje umożliwiające użytkownikom dostosowanie witryn do konkretnych potrzeb. Te dostosowania obejmują szeroki zakres: od optymalizacji pod kątem wyszukiwarek do portali klienta używanych do wyświetlania prywatnych informacji zalogowanym użytkownikom, do systemów zarządzania treścią, do funkcji wyświetlania treści, takich jak dodanie widgetów i pasków nawigacyjnych. Nie wszystkie dostępne wtyczki są zawsze na bieżąco z aktualizacjami i w rezultacie mogą nie działać poprawnie lub mogą w ogóle nie działać. Większość wtyczek jest dostępna za pośrednictwem WordPress albo poprzez ich pobieranie i instalację plików ręcznie za pomocą FTP lub poprzez pulpit WordPress. Niektóre strony oferują wtyczki za pośrednictwem własnych stron internetowych, z których wiele to płatne pakiety.

Niestety system ten nigdy nie był wolny od wad w tym od luk bezpieczeństwa. W 2007, 2008 i 2015 roku zostało znalezionych wiele błędów zabezpieczeń. Według Secunia, WordPress w kwietniu 2009 roku miał siedem niezałatanych ostrzeżeń o bezpieczeństwie, z maksymalną oceną „Mniej krytyczny”. Secunia utrzymuje aktualną listę luk w zabezpieczeniach WordPress. W styczniu 2007 popularne blogi poświęcone optymalizacji pod kątem wyszukiwarek (SEO), a także niskobudżetowe komercyjne blogi z AdSense, zostały zaatakowane przy użyciu exploita WordPress. Oddzielna luka w zabezpieczeniach na jednym z serwerów sieci Web witryny projektu pozwoliła wprowadzić kod, który można było wykorzystać jako „backdoor”. Wersja 2.1.2 rozwiązała ten problem. Poradnik wydany w tym czasie zalecił wszystkim użytkownikom natychmiastowe uaktualnienie.

W wywiadzie udzielonym w czerwcu 2007 Stefan Esser, założyciel zespołu PHP Security Response, krytycznie wypowiadał się na temat bezpieczeństwa w WordPress, powołując się na problemy z architekturą aplikacji, które sprawiały, że trudno było napisać kod bezpieczny od luk typu SQL injection. W czerwcu 2013 okazało się, że niektóre z 50 najczęściej pobieranych wtyczek do WordPressa były podatne na typowe ataki internetowe, takie jak SQL injection i XSS. Oddzielna inspekcja 10 wtyczek e-commerce pokazała, że siedem z nich było zagrożonych.

Sytuacja poprawiła się, kiedy w WordPress 3.7 wprowadzono automatyczne aktualizacje w tle.

Niemniej w styczniu 2017 audytorzy bezpieczeństwa w Sucuri zidentyfikowali lukę w API REST WordPressa, która pozwoliłaby każdemu nieuwierzytelnionemu użytkownikowi zmodyfikować dowolny post lub stronę w witrynie z WordPress 4.7 lub nowszym. Audytorzy po cichu powiadomili programistów i w ciągu sześciu dni WordPress wydał poprawkę o wysokim priorytecie do wersji 4.7.2, która rozwiązała problem.

W tym roku jest to drugi poważny alarm dla WordPressa. Trzy miesiące temu wspominany już na początku artykułu Zespół Wordfence z firmy Defiant ostrzegał, że tysiące witryn WordPress zostało dotkniętych trzema lukami w zabezpieczeniach umożliwiającymi zdalne wykonanie kodu, które zostały zidentyfikowane we wtyczce PHP Everywhere.

Wtyczka miała ponad 30 000 pobrań. Jest udostępniana jako open source, zaprojektowana w celu włączenia kodu PHP w dowolnym miejscu instalacji WordPress.

Sytuacja została naprawiona w iteracja PHP Everywhere, która została wydana w styczniu 2022 r. z łatami dla trzech krytycznych luk w zabezpieczeniach (wynik CVSS 9,9), które mogą umożliwić użytkownikom z niskimi uprawnieniami wykonywanie kodu w witrynach WordPress korzystających z wtyczki.

Najpoważniejszym z tych problemów był CVE-2022-24663, luka, która pozwala każdemu uwierzytelnionemu użytkownikowi, w tym subskrybentom i klientom, „wykonywać skróty za pomocą akcji AJAX parse-media-shortcode”.

Atakujący chcący wykorzystać ten błąd musiałby wysłać spreparowane żądanie z określonym parametrem shortcode, aby wykonać dowolny kod PHP w witrynie, co zwykle prowadziłoby do całkowitego przejęcia witryny.

Podziel się z innymi tym artykułem!