WPML na ponad 1,5 mln stron miał lukę SQL Injection. Wystarczało konto subskrybenta

CVE-2026-17509 opisuje SQL Injection w WPML Multilingual CMS do wersji 4.9.5 włącznie. Atak wymagał zalogowanego konta, ale wystarczała rola subskrybenta. WPML deklaruje ponad 1,5 mln używających go stron.
WPML Multilingual CMS, jedna z najpopularniejszych wtyczek do wielojęzycznych stron WordPress, miał podatność pozwalającą zalogowanemu użytkownikowi o bardzo niskich uprawnieniach wyciągać wrażliwe informacje z bazy danych. Problem dotyczy wersji do 4.9.5 włącznie. To dobry przykład, dlaczego ocena “medium” przy CVE nie zawsze oznacza, że temat można zignorować.
Co dokładnie było nie tak
CVE-2026-17509 opisuje podatność typu SQL Injection w parametrze elementIds. SQL Injection oznacza sytuację, w której dane dostarczone przez użytkownika trafiają do zapytania do bazy w sposób pozwalający zmienić jego znaczenie. Zamiast wykonać tylko zaplanowane przez aplikację zapytanie, baza może zostać zmuszona do ujawnienia dodatkowych informacji.
W tym przypadku problem wynikał z niewystarczającego zabezpieczenia danych wejściowych i braku prawidłowego przygotowania zapytania SQL. Rekord CVE mówi o ataku typu time-based SQL Injection. Napastnik nie dostaje więc od razu eleganckiej tabeli z zawartością bazy. Odpowiednio konstruuje zapytania i obserwuje czas odpowiedzi serwera, a z tych różnic krok po kroku odtwarza informacje.
Najciekawsza część tej luki nie siedzi w SQL
Sama możliwość wstrzyknięcia SQL była połączona z drugim błędem. Według opisu Wordfence opublikowanego w rekordzie CVE callback odpowiedzialny za autoryzację nie wykonywał się prawidłowo. W efekcie funkcje administracyjne związane z tłumaczeniami stawały się dostępne dla dowolnego uwierzytelnionego użytkownika, niezależnie od jego roli.
Sprawdź nasze usługi.
Minimalnym poziomem wskazanym w CVE jest Subscriber, czyli subskrybent. To jedna z najniższych standardowych ról WordPressa. Atak nie wymagał przejęcia konta administratora ani redaktora.
Nie oznacza to, że każda strona z WPML była równie łatwym celem. Atak nadal wymagał zalogowanego konta, a nie każda witryna pozwala użytkownikom samodzielnie je zakładać. Na stronach z rejestracją użytkowników próg wejścia był jednak wyraźnie niższy niż przy typowej luce wymagającej uprawnień administracyjnych.
Podatne są wersje do 4.9.5 włącznie
Oficjalny rekord CVE wskazuje jako podatne wszystkie wersje WPML Multilingual CMS do 4.9.5 włącznie. Wersje nowsze znajdują się poza zakresem tej podatności. Jeśli strona nadal działa na 4.9.5 lub starszej wersji, sensownym minimum jest aktualizacja WPML do najnowszego wydania dostępnego dla danej instalacji.
Przy dużych, wielojęzycznych serwisach aktualizacja WPML bywa bardziej złożona niż kliknięcie jednego przycisku, bo wtyczka jest powiązana z tłumaczeniami, typami treści, WooCommerce i innymi rozszerzeniami. To nie zmienia priorytetu poprawki, ale jest argumentem za kopią zapasową i testem na stagingu zamiast odkładania aktualizacji bez końca.
Ponad 1,5 mln stron zmienia skalę tematu
WPML sam podaje, że jego oprogramowanie działa na ponad 1,5 mln stron. Ta liczba nie mówi oczywiście, ile z nich korzystało dokładnie z podatnych wersji ani ile pozwalało na tworzenie kont użytkowników. Pokazuje jednak, że nie mówimy o niszowym dodatku z kilkuset instalacjami.
Właśnie dlatego warto patrzeć dalej niż na sam wynik CVSS 6,5/10 i etykietę Medium. Techniczna ocena uwzględnia między innymi to, że atak wymaga uwierzytelnienia i wpływa przede wszystkim na poufność danych. W praktyce znaczenie zależy też od liczby wdrożeń, sposobu zakładania kont i tego, jakie informacje przechowuje konkretna instalacja WordPressa.
Czy luka jest aktywnie wykorzystywana?
Na moment publikacji rekordu nie ma podstaw do twierdzenia, że trwa fala ataków. Dane CISA dołączone do CVE oznaczają stan eksploatacji jako “none”. To ważne rozróżnienie: istnieje publicznie opisana podatność i znany mechanizm ataku, ale nie jest to to samo co potwierdzona aktywna kampania.
Brak znanej eksploatacji nie jest jednak powodem, żeby pozostawić podatną wersję. Publiczny opis obniża koszt przygotowania ataku, a aktualizacja zamyka problem bez potrzeby czekania na pierwszy nagłówek o realnych włamaniach.
Komentarz WebsiteGarage
Ta luka dobrze pokazuje dwie rzeczy. Po pierwsze, bezpieczeństwo WordPressa nie kończy się na pytaniu “czy ktoś może wejść do panelu administratora?”. Jeżeli zwykłe konto potrafi dotknąć funkcji, które powinny być administracyjne, skutki mogą pojawić się zupełnie gdzie indziej.
Po drugie, cyfra CVSS nie jest automatycznym priorytetem biznesowym. 6,5 wygląda spokojniej niż 9,8, ale przy wtyczce używanej na ponad 1,5 mln stron i możliwości wydobywania danych z bazy nadal jest to aktualizacja, której nie warto odkładać. Bez paniki i bez opowieści o masowej kampanii, której na razie nie potwierdzono. Po prostu sprawdzić wersję i zamknąć temat.
Odkryj więcej artykułów
- Claude wszedł na prawdziwy internet podczas testów. Anthropic ujawnia czwarty incydent i skanuje 481 mln rozmów
- OpenAI potwierdza „wiki incident”. Agenci podczas testów użyli niemieckiego DSEWiki do nieautoryzowanej współpracy
- 395 organizacji, 440 serwerów i setki agentów AI. Atak na PaperCut pokazuje nową skalę automatyzacji
- Cloudflare porządkuje boty AI. Właściciel strony będzie mógł łatwiej sprawdzić, kto czyta treści i po co
- Kiedy WordPress czeka, zanim cokolwiek załaduje: baza danych, backend i wolna strona
- AI użyło Twojej treści? Cloudflare chce, żeby można było za to dostać pieniądze
- Czerwony błąd, zielony sukces? WCAG mówi jasno: sam kolor nie wystarczy
- Google daje właścicielom stron kontrolę nad AI Search. Nowe ustawienia są już dostępne globalnie
- WooCommerce 11.1 włączy galerie zdjęć wariantów wszystkim sklepom. Osobna wtyczka przestanie być potrzebna