Biuletyn bezpieczeństwa FunnelKit (Funnel Builder)
Jeśli otrzymałeś ode mnie wiadomość e-mail kierującą Cię na tę stronę, to dlatego, że Twoja
witryna najwyraźniej korzysta z podatnej wersji Funnel Builder by FunnelKit (wtyczki
WordPress funnel-builder, wymienianej także jako Funnel Builder for WooCommerce Checkout).
Ta strona wyjaśnia, dlaczego to ważne i jak temu zaradzić.
Ten biuletyn dotyczy CVE-2026-47100, krytycznej, aktywnie wykorzystywanej luki (CVSS 8.7), która pozwala atakującemu wstrzyknąć własny kod JavaScript na Twoje strony realizacji zamówienia bez logowania. Dotyczy ona wszystkich wersji przed 3.15.0.3 i została naprawiona w 3.15.0.3. Jeśli korzystasz z wersji, której dotyczy problem, zaktualizuj Funnel Builder do 3.15.0.3 lub nowszej tak szybko, jak to możliwe. Ponieważ luka ta jest wykorzystywana do kradzieży danych kart płatniczych, powinieneś również sprawdzić stronę realizacji zamówienia pod kątem wstrzykniętego kodu (zobacz Jeśli korzystałeś z wersji, której dotyczy problem poniżej).
Jest to luka we wtyczce, a nie w rdzeniu WordPressa. W pełni aktualny WordPress i WooCommerce nie chronią Cię, jeśli sama wtyczka Funnel Builder jest nieaktualna.
Czy ta wiadomość jest wiarygodna?
Tak. Jest to powiadomienie w dobrej wierze, zgodne z zasadą odpowiedzialnego ujawniania, od niezależnego badacza bezpieczeństwa. Nie proszę Cię o pieniądze, hasła ani dostęp do Twojej strony, i nie próbowałem się do niej włamać, niczego przesłać ani niczego wykorzystać.
Jedyne, co zrobiłem, to obejrzenie publicznie widocznych plików, które Twoja witryna
udostępnia każdemu odwiedzającemu (tak samo jak publiczna jest Twoja strona główna), i
odnotowanie numeru wersji, który wtyczka Funnel Builder publikuje w tych plikach: jej
publicznego pliku readme.txt oraz znacznika wersji, którym WordPress oznacza zasoby wtyczki
po stronie front-endu. Świadomie nie dotknąłem podatnej funkcji realizacji zamówienia i
nic w tym sprawdzeniu nie dotyka Twoich danych, Twojego panelu administracyjnego ani żadnej
prywatnej części Twojej strony.
Jeśli chcesz zweryfikować, kim jestem, zobacz dane kontaktowe na dole tej strony oraz stronę O tej stronie.
Dlaczego to ważne
Funnel Builder by FunnelKit to szeroko używana wtyczka lejków sprzedażowych i realizacji zamówienia dla sklepów WooCommerce. W wersjach, których dotyczy problem, publiczny punkt końcowy realizacji zamówienia może zostać osiągnięty bez logowania i bez żadnego tokena bezpieczeństwa i może zostać użyty do zapisu globalnego ustawienia wtyczki „External Scripts”, czyli ustawienia, które wstrzykuje skrypty na każdą stronę realizacji zamówienia. To połączenie pozwala zdalnemu atakującemu umieścić własny kod JavaScript na Twojej stronie realizacji zamówienia, tam gdzie Twoi klienci wpisują swoje imię, adres oraz dane karty płatniczej.
To klasyczny wzorzec web-skimmingu / Magecart: wstrzyknięty skrypt po cichu kopiuje to, co wpisują kupujący, i wysyła to do atakującego, podczas gdy Twoja strona realizacji zamówienia działa normalnie, więc nic nie wygląda podejrzanie. Firma bezpieczeństwa Sansec donosi, że luka ta jest aktywnie wykorzystywana w praktyce, a kod wykradający dane jest często zamaskowany jako Google Tag Manager lub fragment kodu analitycznego, aby się wtopić.
Lukę oceniono na 8,7 na 10 (wysoka waga). Jeśli moja wiadomość e-mail przywołała ten problem, oznacza to, że wersja, którą zgłasza Twoja strona, mieści się w zakresie, którego dotyczy problem. Nie testowałem, czy Twoja konkretna strona jest podatna na wykorzystanie lub już naruszona, a jedynie to, że zgłasza wersję, której dotyczy problem.
Dobra wiadomość: aktualizacja do naprawionej wersji zamyka lukę, a sama aktualizacja jest prosta.
Jak sprawdzić swoją wersję
Nie musisz wierzyć mi na słowo co do tego, z jakiej wersji korzystasz.
Z publicznego manifestu (bez logowania): otwórz w przeglądarce
twojadomena.pl/wp-content/plugins/funnel-builder/readme.txt. Wiersz Stable tag: blisko
początku to wersja, którą zgłasza Twoja instalacja Funnel Builder, i jest to ten sam publiczny
plik, który odczytałem.
Z panelu administracyjnego WordPress (jeśli masz dostęp):
- Zaloguj się do kokpitu WordPress (zwykle pod adresem
twojadomena.pl/wp-admin). - Przejdź do Wtyczki następnie Zainstalowane wtyczki.
- Znajdź Funnel Builder (może być wyświetlany jako Funnel Builder for WooCommerce lub FunnelKit) i odnotuj wersję pokazaną pod jego nazwą.
Jeśli wersja jest niższa niż 3.15.0.3, korzystasz z wersji, której dotyczy problem, i powinieneś zaktualizować. 3.15.0.3 i nowsze są naprawione.
Jak zaktualizować
Najbezpieczniejsza droga to aktualizacja przez samego WordPressa, po uprzednim utworzeniu kopii zapasowej:
- Utwórz kopię zapasową swojej strony (pliki i baza danych) przed wprowadzeniem zmian. Większość dostawców hostingu oferuje kopie zapasowe jednym kliknięciem, albo skorzystaj z wtyczki do tworzenia kopii zapasowych WordPress.
- W panelu administracyjnym WordPress przejdź do Kokpit następnie Aktualizacje, albo Wtyczki następnie Zainstalowane wtyczki. Jeśli aktualizacja Funnel Builder jest na liście, zainstaluj ją stąd.
- Jeśli nie pojawi się żadna aktualizacja, możesz pobrać najnowsze wydanie bezpośrednio ze strony wtyczki w katalogu WordPress.org, Funnel Builder by FunnelKit, i zaktualizować przez Wtyczki następnie Dodaj nową wtyczkę następnie Wyślij wtyczkę na serwer.
- Po aktualizacji potwierdź nowy numer wersji (3.15.0.3 lub nowszy) zgodnie z powyższymi krokami i sprawdź, czy Twoja strona realizacji zamówienia wczytuje się i poprawnie kończy zamówienie testowe.
Skoro już tam jesteś, warto potwierdzić, że rdzeń WordPress, WooCommerce oraz pozostałe wtyczki są aktualne, ponieważ ta sama zasada dotyczy ich wszystkich.
Jeśli korzystałeś z wersji, której dotyczy problem
Ponieważ luka ta jest wykorzystywana do umieszczania skryptów wykradających dane płatności, sklep, który korzystał z wersji objętej problemem, nie powinien zakładać, że sama aktualizacja wystarczy. Aktualizacja usuwa podatność, ale nie usuwa żadnego skryptu, który atakujący mógł już wstrzyknąć. Ty (lub Twój webmaster) powinniście to sprawdzić na swojej własnej stronie:
- Przejrzyj ustawienie wtyczki „External Scripts”. W ustawieniach FunnelKit / Funnel Builder sprawdź wszelkie globalne wpisy nagłówka/stopki lub „External Scripts”, które dotyczą Twojej strony realizacji zamówienia, i usuń wszystko, czego sam nie dodałeś, zwłaszcza skrypt, który podaje się za Google Tag Manager, narzędzie analityczne lub piksel, a którego nie skonfigurowałeś.
- Obejrzyj kod źródłowy strony realizacji zamówienia. Wczytaj własną stronę realizacji
zamówienia w przeglądarce, wyświetl kod źródłowy strony i poszukaj wszelkich zewnętrznych
znaczników
<script>, których nie rozpoznajesz, szczególnie tych wczytywanych z nieznanej domeny. Skrypty wykradające dane są projektowane tak, by wyglądać jak zwykłe narzędzia analityczne. - Zwracaj uwagę na oznaki oszustw. Niewyjaśniony wzrost zgłoszeń oszustw z kartami płatniczymi od klientów po złożeniu u Ciebie zamówienia jest silną oznaką, że skrypt wykradający dane był aktywny.
Jeśli znajdziesz wstrzyknięty kod, potraktuj sklep jako naruszony: usuń podstawiony skrypt, zmień wszystkie dane uwierzytelniające (administracja WordPress, baza danych, panel hostingu oraz wszelkie klucze API bramki płatności) i, ponieważ dane kart klientów mogły zostać ujawnione, powiadom swojego operatora płatności oraz postępuj zgodnie z jego wskazówkami, które mogą obejmować obowiązek powiadomienia klientów na mocy PCI-DSS lub lokalnego prawa. Na wszelki wypadek przejrzyj również swoje konta administratorów pod kątem takich, których nie rozpoznajesz. Jeśli Twoja organizacja ma zespół bezpieczeństwa IT, włącz ich do sprawy.
Chcę to jasno powiedzieć: nie sprawdzałem Twojej strony pod kątem żadnego z tych wskaźników i nie wiem, czy Twoja strona była objęta problemem. Ta lista znajduje się tutaj, abyś mógł sprawdzić samodzielnie.
Nie mam webmastera / utknąłem
Jeśli nie jesteś osobą, która utrzymuje stronę, prześlij tę stronę temu, kto to robi (Twojemu deweloperowi, agencji lub dostawcy hostingu). Szybko rozpoznają powyższe kroki.
Jeśli sam utrzymujesz stronę i utkniesz, chętnie pomogę Ci wskazać właściwy kierunek, bezpłatnie. Skontaktuj się, korzystając z danych kontaktowych poniżej.
Kontakt
Evan Harris, badacz bezpieczeństwa
- E-mail: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Kontaktuję się w sprawach takich jak ta wyłącznie po to, by pomóc operatorom zabezpieczyć ich strony. Jeśli wolisz nie być więcej kontaktowany, po prostu daj mi znać, a uszanuję to.
Źródła
Oficjalne biuletyny i śledzenie
Producent / wtyczka
Doniesienia i analizy